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

配列キーを「some_property」ではなく「someProperty」として取得する方法はありますか?

わかりやすくするための 2 番目の例:

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

配列キーとして「full_name」ではなく「firstAndLastName」を返す必要があります。

4

0 に答える 0