Within the same entity I have a PreUpdate and a PrePersist. The PreUpdate fires, but the PrePersist never does. I put a die()
after the flush and comments within the lifecycle callbacks. Full entity can be seen at http://pastebin.com/yUk1u4GQ
Entity callbacks
/**
* @PreUpdate
*/
public function fixDates(){
$this->updatedOn = $this->getNow();
$this->closedDate = null;
$this->openDate = null;
print "dates fixed";
}
/**
* @PrePersist
*/
public function prePersist() {
print 'in prePersist';
die();
}
Entity Manager calls
$em->persist($school);
$em->flush();
die();
My screen reads "dates fixed", but not the prePersist message. I do have the @HasLifecycleCallbacks
at the top of the entity.
Don't forget to enable Lifecycle Callbacks in your class annotation :
/**
* Report\MainBundle\Entity\Serveur
* @ORM\HasLifecycleCallbacks
*/
class Serveur {