다른 엔티티 createDT 스탬프에 의존하는 작성하려고하는 비품이 있습니다. 그러나, 내 엔티티에서 createDT 필드를 채우는 데 @prepersist
을 사용하면 '스푸핑'할 수 없습니다. 내가 참여하고있는 엔티티가 상당히 많습니다. 잠시 동안 고정/오버라이드 할 수있는 방법이 있는지 궁금합니다. 내 설비를로드하기 위해이 @prepersist
을 그냥 겹쳐 씁니까?Symfony 비품 - '더미'로 날짜를 만들 수 있습니까?
/**
* Set createDT
* @ORM\PrePersist
*/
public function setCreateDT()
{
$this->createDT = new \DateTime();
return $this;
}
을 ... 그리고 다른 기업의 createDT
에 대해 비교, 조건 아래 종류-의 방법으로 비품 '값을 지정하려고 :
내 기관 모두가
class LoadTransactionData extends AbstractFixture implements OrderedFixtureInterface {
public function load(ObjectManager $manager) {
for ($month=1; $month <= 120; $month++) {
$transaction = new Transaction();
$date = new \DateTime();
if($date->setDate(2000 + floor($month/12),$month % 12,1) < $this->getReference('AC_1')->getCreateDT()) {
// ...get references etc and do stuff here....
} else {
// ...get references etc and do other stuff here...
}
$manager->persist($transaction);
}
$manager->flush();
}
업데이트 : 위의 내용이 최선이지만 가능하지 않은 경우 일부 레코드의 지속성을 지연시킬 수있는 방법이 있다면 충분할 수 있습니다.
public function __construct()
{
$this->createDT = new \DateTime();
}
따라서, 당신의 비품이로드 될 때 : 그런 식으로, 나는 적어도
감사합니다 - 나는 좋은 생각처럼 보였지만 희망적 이었지만 불행히도 운이 없다! 'PrePersist'는 여전히 그것을 잡아 채 현재 DT 스탬프로 레코드를 채우고 있습니다 – Bendy
감사합니다 :-) 모든 PrePersists를 연결 해제해야하는 것은 수치스럽지 만 적어도 작동합니다! – Bendy