是否存在不允许此错误的错误?我已经将LifecycleCallBacks注释和prepersist方法放入基类(也尝试了子类),并且无法使LifecycleCallBacks正常工作。任何投入将不胜感激!谢谢!
/**
* @Entity(repositoryClass="Entity\Repository\EventRepository")
* @HasLifecycleCallbacks
* @Table(name="events")
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="type", type="string")
* @DiscriminatorMap({"phone" = "PhoneEvent", "meeting" = "MeetingEvent"})
*/
class Event implements \ActivityItem{
/** @PrePersist */
public function setComplianceStatus(){...}
}
这不起作用,所以我也试过了:
/**
* @Entity @HasLifecycleCallbacks
*/
class PhoneEvent extends Event{
/** @PrePersist */
public function setComplianceStatus(){}
}
答案 0 :(得分:3)
我尝试了你提出的映射,这个星座似乎确实存在问题。
当我这样做时,它起作用了:
/**
* ...
* @Entity
* @HasLifecycleCallbacks
*/
class Event {
...
/** @PrePersist */
public abstract function setComplianceStatus();
...
}
/**
* @Entity
* @HasLifecycleCallbacks
*/
class PhoneEvent extends Event{
/** @PrePersist */
public function setComplianceStatus() {
// implementation goes here
}
}
看起来该方法必须存在于父类中,即使它可以声明为抽象。奇怪,可能是一个错误。