如何使用 ZF2 和 Doctrine 从实体内部确定鉴别器列值
How to determine the discriminator column value from within an entity with ZF2 and Doctrine
我想使用 Doctrine 的 preflush 功能,根据其他元素的值自动设置表单元素的值。我的 ZF2 实体中的 preflush 语句可能如下所示:
/**
* set eventEndDate = eventStartDate for single-day events on pre flush.
*
* @ORM\PreFlush
* @return void
*/
public function onPreFlush(PreFlushEventArgs $args)
{
$currentEventType = $this->getEventType();
if ($currentEventType=='meeting') {
$this->eventEndDate = $this->getEventStartDate();
}
}
我的挑战是我没有 getEventType()
getter 因为 eventType 是我的继承映射中的鉴别器列。实体中的预冲函数如何从实体内部评估鉴别器值?
您可以使用 instanceof
php 运算符来检查对象的 class。像这样:
if ($this instanceof MeetingEntityClass) {
//...
}
我想使用 Doctrine 的 preflush 功能,根据其他元素的值自动设置表单元素的值。我的 ZF2 实体中的 preflush 语句可能如下所示:
/**
* set eventEndDate = eventStartDate for single-day events on pre flush.
*
* @ORM\PreFlush
* @return void
*/
public function onPreFlush(PreFlushEventArgs $args)
{
$currentEventType = $this->getEventType();
if ($currentEventType=='meeting') {
$this->eventEndDate = $this->getEventStartDate();
}
}
我的挑战是我没有 getEventType()
getter 因为 eventType 是我的继承映射中的鉴别器列。实体中的预冲函数如何从实体内部评估鉴别器值?
您可以使用 instanceof
php 运算符来检查对象的 class。像这样:
if ($this instanceof MeetingEntityClass) {
//...
}