php - Symfony Doctrine PrePersist/PreUpdate not working -


i'm having problems lifecyclecallbacks in symfony. here's entity:

<?php  namespace mainbundle\bundle\entity;  use doctrine\orm\mapping orm; use fos\userbundle\model\user baseuser; use appbundle\entity\event; use doctrine\common\collections\arraycollection;  /**  * user  *  * @orm\table("users")  * @orm\entity(repositoryclass="mainbundle\bundle\repository\userrepository")  * @orm\haslifecyclecallbacks()  */ class user extends baseuser {      public function __construct() {         $this->events = new arraycollection();         parent::__construct();     }      /**      * @var integer      *      * @orm\column(name="id", type="integer")      * @orm\id      * @orm\generatedvalue(strategy="auto")      */     protected $id;      /**      * @var \datetime      *      * @orm\column(name="joined", type="datetime")      */     private $joined;      /**      * @var \datetime      *      * @orm\column(name="updated", type="datetime",nullable=true)      */     private $updated;      /**      * events      *      * @var arraycollection      * @access private      * @orm\onetomany(targetentity="appbundle\entity\event",mappedby="user")      */     private $events;       /**      * id      *      * @return integer       */     public function getid()     {         return $this->id;     }      /**      * set joined      *      * @param \datetime $joined      * @return user      */     public function setjoined($joined)     {         $this->joined = $joined;          return $this;     }      /**      * joined      *      * @return \datetime       */     public function getjoined()     {         return $this->joined;     }      /**      * set updated      *      * @param \datetime $updated      * @return user      */     public function setupdated($updated)     {         $this->updated = $updated;          return $this;     }      /**      * updated      *      * @return \datetime       */     public function getupdated()     {         return $this->updated;     }      /**      * set events      *      * @param \datetime $events      * @return user      */     public function setevents($events)     {         $this->events = $events;          return $this;     }      /**      * events      *      * @return arraycollection       */     public function getevents()     {         return $this->events;     }      /**      * add event      *      * @param event $event      * @return user      */     public function addevent(event $event)     {         $this->events->add($event);          return $this;     }      /**      * remove event      *      * @param event $event      * @return user      */     public function removeevent(event $event)     {         $this->events->removeelement($event);          return $this;     }      /*      * @orm/prepersist      */     public function prepersist()     {         $this->joined = new \datetime();     }      /*      * @orm/preupdate      */     public function preupdate()     {         $this->updated = new \datetime();     } } 

i've been searching while now, , still haven't spotted issue. i've tried variations of what's here e.g. experiments case-sensitive rules(i mean using upper/lower cases here , there around 2 methods) , tried begin block quotes double star /**(as still don't know whether works or not). if more files needed here, i'll paste them.

you appear have typos. instead of:

 @orm/prepersist 

try:

 @orm\prepersist 

e.g:

/**  * @orm\prepersist  */ public function prepersist() {     $this->joined = new \datetime(); }  /**  * @orm\preupdate  */ public function preupdate() {     $this->updated = new \datetime(); } 

surprised wasn't throwing exception, there go. hope helps! :)


Comments