После определения функции обратного вызова вы должны указать эти две функции в качестве параметров lifecycleCallbacks: в файле yaml соответствующей сущности.Если вы используете XML, укажите там.Ниже приведен пример того, как обратный вызов жизненного цикла работает с использованием yaml.
class myentity{
private $createdAt ;
private $updatedAt ;
public function setCreatedAtValue()
{
$this->createdAt = new \DateTime();
}
public function setUpdatedAtValue()
{
$this->updatedAt = new \DateTime();
}
}
В вашем файле Yaml, соответствующем этой сущности, вы должны вызывать эти 2 функции в обратном вызове жизненного цикла,
Myproject\MytBundle\Entity\myentity:
type: entity
table: myentity
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
generator:
strategy: IDENTITY
lifecycleCallbacks:
prePersist: [ setCreatedAtValue,setUpdatedAtValue ]
preUpdate: [ setUpdatedAtValue ]
Thisобратный вызов будет вызываться перед вставкой данных в БД, а функция setUpdatedAtValue будет вызываться перед обновлением любого значения в Db
. Надеюсь, это поможет вам.Удачного кодирования.