2016-05-11 45 views
0

後,我在我形成一個日期字段。Symfony2中再次堅持prePersist或更新前觸發

我已經使用preUpdate和prePersist方法將其設置爲currentDate,無論何時添加或更新我的實體。以前此字段不在窗體中,並且正在自動添加/更新。

現在我想這個字段添加到形式,使得用戶可以將其設置爲每當我更新它的另一個date.But,它總是被設置爲當前日期,不管是張貼通過什麼形式。

請help.This是我的代碼。

$allocation->setVehicle($vehicle); 
    $allocation->setType($type); 
    $em->persist($allocation); 
    $em->flush(); 

    $allocation->setMutationDate($date->getMutationDate()); 

    $em->persist() 
    $em->flush(); 
+0

好吧,如果你還在用prePersist和更新前,那麼當然它會覆蓋用戶的首選。 –

+0

@EmanuelOster,實際上這個日期也被設置爲當前日期,當用戶改變其他東西。所以我想使用生命週期回調,但不是在這種特定情況下,我可以覆蓋prePersist值的任何方式? Woaah! – anujeet

回答

0

你可以添加一個專用標誌你的實體,類似於mutationDateModified。 在mutationDate的setter中將其設置爲true。然後,在prePersist/preUpdate中,檢查是否爲mutationDateModified。如果是,請不要更新mutationDate。無論如何,之後將mutationDateModified設置回false。

+0

Woaah! 邏輯喜悅 非常感謝 – anujeet