在prePersist或preUpdate被解雇后,Symfony2再次存在

时间:2016-05-11 08:45:45

标签: php symfony

我的表单中有一个日期字段。

每当我的实体被添加或更新时,我都使用preUpdate和prePersist方法将它设置为currentDate。之前这个字段不是格式,而是自动添加/更新。

现在我想将此字段添加到表单中,以便用户可以将其设置为另一个日期。但每当我更新它时,无论表单发布什么,它总是被设置为当前日期。

请帮忙。这是我的代码。

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

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

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

1 个答案:

答案 0 :(得分:0)

您可以为您的实体添加私有标记,例如mutationDateModified。 在mutationDate的setter中将其设置为true。然后,在prePersist / preUpdate中,检查mutationDateModified是否为true。如果是,请不要更新mutationDate。无论哪种方式,之后将mutationDateModified设置为false。