我使用一个扩展包含生命周期回调的抽象类的类。我的抽象类用@ORM\MappedSuperclass注释,但我的回调没有被触发。在这个问题上,我在这里和那里看到了很多问题,但没有具体的答案。有没有人有真正有效的解决方案?(我指定如果我手动调用我的回调方法,一切正常)
此链接上的答案对我不起作用:
原则 2 生命周期不调用具有抽象基类的回调
(但问题是相同的)
<?php
// ...
/**
* @ORMMappedSuperclass
* @ORMHasLifecycleCallbacks
*/
abstract class Picture {
// ...
/**
* @ORMPrePersist()
* @ORMPreUpdate()
*/
public function preUpload() {
echo 'preUpload ';
if (null !== $this->getFile()) {
$this->picture = $this->getNewFilename(10);
}
}
}
/**
* User
*
* @ORMTable()
* @ORMEntity(repositoryClass="MyownUserBundleEntityUserRepository")
*/
class User extends Picture {
// ...
}
你能添加抽象类和使用该映射超类的实体吗?听起来它仍然缺少一些规格。