Gedmo\Timestampable
주석을 자동 created_at
및 updated_at
작업에 사용하는 Symfony 2.8 앱이 있지만 엔티티/행이 처음 생성 될 때 updated_at
열에 동일한 타임 스탬프를 넣는 것으로 보입니다. UPDATE
을 사용하면 updated_at
열에 새로운 타임 스탬프가 표시되지만 시작하려면이 값을 비워두기를 원합니다.처음 만들 때 Gedmo Timestampable에서 updated_at null을 유지하려면 어떻게해야합니까?
INSERT
에서 created_at
열에는 타임 스탬프가 채워 져야하며 updated_at
은 업데이트되지 않았으므로 빈 칸이어야합니다. 열의 첫 번째 업데이트 이후에만 업데이트 시간 값을 가져야합니다.
나는 이것을 예상하여 정확합니까? 내 코드/config에 문제가 있습니까? 또는이 주석은 실제로 디자인에 따라 두 열의 값을 실제로 설정합니까? 내 config.yml
:
...
stof_doctrine_extensions:
default_locale: "%locale%"
translation_fallback: true
orm:
default:
translatable: true
timestampable: true
...
내 엔티티 :
이...
/**
* An automatic timestamp of the creation.
*
* @var \DateTime $createdAt
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="created_at", type="datetime")
*/
public $createdAt;
/**
* An automatic timestamp of the updation.
*
* @var \DateTime $updatedAt
* @Gedmo\Timestampable(on="update")
* @ORM\Column(name="updated_at", type="datetime")
*/
protected $updatedAt;
...
표는 DATETIME
로 두 개의 열을 정의하고 그들이 디폴트 조항이 없습니다.
이제 다음 질문이 제기됩니다.이 동작을 변경하는 방법이 있습니까? – aalaap
버그 추적기에서 Enhancement 티켓을 열 수 있습니다 (또는 그 이상을 지원하는 PR 제공). 또한이 동작을 재정의하는 방법이있을 수도 있지만 Symfony가 리스너에서이를 지원하는지 여부는 알 수 없습니다. 마지막으로, Doctrine 엔티티의 라이프 사이클 메소드를 사용하여 이것을 에뮬레이션 할 수 있다고 생각합니다. – NaeiKinDus
그게 도움이. 감사. – aalaap