Doctrion Lifecycle PrePersist:获取更改的属性名称而不是数据库列名称

时间:2013-06-03 16:29:17

标签: doctrine-orm

当挂钩到PreUpdate生命周期回调时,$ eventArgs-> getEntityChangeSet似乎返回数据库列名而不是对象属性名。例如,如果您定义了以下实体:

/**
 * @ORM\Entity
 */
class Something {
    ... 

    /**
     * @ORM\Column(name="some_property", type="integer")
     */
    protected $someProperty;

    ...
}

然后在触发侦听器时更新$ someProperty:

class Listener {
    public function preUpdate(PreUpdateEventArgs $eventArgs) {
        \Doctrine\Common\Util\Debug::dump($eventArgs->getEntityChangeSet());
        die();
    }
}

输出是:

array (size=1)
  'some_property' =>
    array (size=2)
      0 => int 1
      1 => int 2

有没有办法将数组键设置为'someProperty'而不是'some_property'?

为清晰起见,第二个例子:

    /**
     * @ORM\Column(name="full_name", type="integer")
     */
    protected $firstAndLastName;

我应该取回'firstAndLastName'而不是'full_name'作为数组键。

0 个答案:

没有答案