我使用一个扩展包含生命周期回调的抽象类的类。我的抽象类用 @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 {
// ...
}