0

当挂钩到 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' 作为数组键。

4

0 回答 0