Zend プロジェクトで Doctrine 2 ORM を使用しており、いくつかのケースでエンティティを JSON にシリアル化する必要があります。
ATM Querybuilder を使用して、必要なすべてのテーブルを結合します。しかし、私のシリアライザーは、Doctrine が関連付けられたすべてのエンティティを遅延ロードするようにします。その結果、かなり膨大な量のデータが発生し、再帰が引き起こされます。
Doctrines の遅延読み込み動作を完全に無効にする方法を探しています。
データを選択する私の方法は次のとおりです。
$qb= $this->_em->createQueryBuilder()
->from("\Project\Entity\Personappointment", 'pa')
->select('pa', 't', 'c', 'a', 'aps', 'apt', 'p')
->leftjoin('pa.table', 't')
->leftjoin('pa.company', 'c')
->leftjoin('pa.appointment', 'a')
->leftjoin('a.appointmentstatus', 'aps')
->leftjoin('a.appointmenttype', 'apt')
->leftjoin('a.person','p')
選択したテーブルと関連付けのみを結果セットに含めたいと思います。
どんな助けでも大歓迎です。