Я использую класс, расширяющий абстрактный класс, содержащий обратные вызовы жизненного цикла. Мой абстрактный класс помечен @ORM\MappedSuperclass, но мои обратные вызовы не запускаются. Я видел много проблем тут и там на эту тему, но никаких конкретных ответов. У кого-нибудь есть решение, которое действительно работает? (Я указываю, что если я вызову свои методы обратного вызова вручную, все будет работать идеально)
Ответ по этой ссылке не работает для меня:
Doctrine 2 LifecycleCallbacks с абстрактным базовым классом не вызывается а>
(но проблема та же)
<?php
// ...
/**
* @ORM\MappedSuperclass
* @ORM\HasLifecycleCallbacks
*/
abstract class Picture {
// ...
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function preUpload() {
echo 'preUpload ';
if (null !== $this->getFile()) {
$this->picture = $this->getNewFilename(10);
}
}
}
/**
* User
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Myown\UserBundle\Entity\UserRepository")
*/
class User extends Picture {
// ...
}