これは私のエンティティです:
/**
* @ORM\Table(name="Animal")
* @ORM\HasLifecycleCallbacks
*/
class Animal {
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var localizedcontent $lctitle
*
* @ORM\ManyToOne(targetEntity="localizedcontent",fetch="EAGER", cascade={"persist"})
* @ORM\JoinColumn(name="lcTitle", referencedColumnName="pkId", nullable=false)
*/
private $lctitle;
/**
* @var localizedcontent $lcdescription
*
* @ORM\ManyToOne(targetEntity="localizedcontent",fetch="EAGER", cascade={"persist"})
* @ORM\JoinColumn(name="lcDescription", referencedColumnName="pkId", nullable=false)
*/
private $lcdescription;
/**
* @ORM\PostLoad
*/
public function postLoad(){
$lct = $this->lctitle;
$lcd = $this->lcdescription;
}
これは私のdqlです:
SELECT a,lct FROM Animal JOIN e.lctitle lct WHERE a.id=:id
xdebug を起動すると、lcdescription がプロキシ オブジェクトであり、lctitle が存在しないことがわかります。どうしてか分かりません。この時点ではローカライズされたコンテンツがロードされていないため、postLoad イベントは時期尚早だと思います。Animal オブジェクトに関連して lctitle の値を読み取るための他のリスナーはありますか?
ありがとう