ho questo metodo nella mia entità:PreUpdate non innescato
/**
* @ORM\PreUpdate()
* @ORM\PrePersist()
*/
public function preStore() {
if ($this->getPictureFile()) {
$newFilename = sha1(mt_rand());
$newFilename = $newFilename . '.' . ($this->getPictureFile()->guessExtension());
$this->setPictureFilename($newFilename);
}
}
e gli oggetti quando persiste tutto funziona perfettamente, ma aggiornata il metodo non viene attivato a tutti, ho provato in questo modo:
/**
* @ORM\PreUpdate()
* @ORM\PrePersist()
*/
public function preStore() { var_dump('asdasdasdadsdasdas');
if ($this->getPictureFile()) {
$newFilename = sha1(mt_rand());
$newFilename = $newFilename . '.' . ($this->getPictureFile()->guessExtension());
$this->setPictureFilename($newFilename);
}
}
E in persistente var_dump funziona, ma quando aggiorno l'oggetto - non lo fa. Perché?
Se non avessi @ORM \ HasLifeCycleCallbacks allora il prepersivo non avrebbe funzionato e, come ho detto, funziona perfettamente. La rimozione di trailing() non ha modificato nulla.So che posso farlo con gli ascoltatori di eventi ma voglio sapere perché non funziona? – user2394156