0

次のような単純なクエリを実行して、エピソードとの関連付けを取得します。

$query = $this->getEntityManager()
            ->createQuery('
        SELECT p,e
        FROM AcmeDemoBundle:Place p
        LEFT JOIN p.episodes e
        WHERE p.id = :id'
        )
            ->setParameter('id',$id);

これは単純な ass です:

 /**
 * @ORM\OneToMany(targetEntity="Episode", mappedBy="place")
 */
protected $episodes;

これはうまくいきます。今、私はエピソードを取得したくはありませんが、単に場所のオブジェクトを取得したいだけです (他には何もありません):

$query = $this->getEntityManager()
            ->createQuery('
        SELECT p
        FROM AcmeDemoBundle:Place p
        LEFT JOIN p.episodes e
        WHERE p.id = :id'
        )
            ->setParameter('id',$id);

これはまだ遅延読み込みによってエピソードをロードしています。その場合、遅延読み込みを回避する方法はありますか?

どうもありがとう。

4

1 に答える 1

1

このような:

$query = $this->getEntityManager()
            ->createQuery('
        SELECT p
        FROM AcmeDemoBundle:Place p
        WHERE p.id = :id'
        )
            ->setParameter('id',$id);

$query->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true);
于 2012-08-12T07:37:32.570 に答える