Doctrine orm 停止获取关联

Doctrine orm 停止获取关联,doctrine-orm,Doctrine Orm,我执行如下简单查询以获取与剧集的关联: $query = $this->getEntityManager() ->createQuery(' SELECT p,e FROM AcmeDemoBundle:Place p LEFT JOIN p.episodes e WHERE p.id = :id' ) ->setParameter('id',$id)

我执行如下简单查询以获取与剧集的关联:

$query = $this->getEntityManager()
            ->createQuery('
        SELECT p,e
        FROM AcmeDemoBundle:Place p
        LEFT JOIN p.episodes e
        WHERE p.id = :id'
        )
            ->setParameter('id',$id);
这是一个简单的asso:

 /**
 * @ORM\OneToMany(targetEntity="Episode", mappedBy="place")
 */
protected $episodes;
这很有效。现在,我不想获取剧集,只想获取place对象(除此之外没有其他内容):

这仍然是通过延迟加载来加载剧集在这种情况下,有没有办法避免延迟加载?

非常感谢。

像这样:

$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);

那么,当我访问
$place->getSpices()
时会发生什么,我会得到一个空集合吗?或者会抛出一个错误?文档对于解释幕后发生的事情不是很清楚。在DQL示例中,
剧集
没有显式加载,保持代理集合并依赖entities属性的
fetch=“LAZY”
配置不是正确的做法吗?
$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);