Doctrine orm 原则DQL,两个不同查询的结果相同

Doctrine orm 原则DQL,两个不同查询的结果相同,doctrine-orm,dql,doctrine-query,Doctrine Orm,Dql,Doctrine Query,我对Dql查询的缓存有问题,我有6行代码: $dql = "SELECT d, c FROM \Cms\Day d LEFT JOIN d.contents c WITH c INSTANCE OF Cms\Message ORDER BY d.num ASC"; $query = $this->_em->createQuery($dql); $result1 = $query->getResult(); $dql = "SELECT d, c FROM \Cms\Day d

我对Dql查询的缓存有问题,我有6行代码:

$dql = "SELECT d, c FROM \Cms\Day d LEFT JOIN d.contents c WITH c INSTANCE OF Cms\Message ORDER BY d.num ASC";
$query = $this->_em->createQuery($dql);
$result1 = $query->getResult();

$dql = "SELECT d, c FROM \Cms\Day d LEFT JOIN d.contents c WITH c INSTANCE OF Cms\Article ORDER BY d.num ASC";
$query = $this->_em->createQuery($dql);
$result2 = $query->getResult();
我已经尝试过了(在$query->getResult()之前):

但是我在$result1和$result2=>中总是有相同的结果,它们是相等的,并且包含第一个查询的结果

有人能告诉我怎么解决吗


谢谢

我刚刚发现Cms\Days停留在EntityManager(_em)中用于2个查询,因此在2个getResult之间我们可以添加:

$this->_em->clear();
或对结果进行foreach以分离元素:

foreach($result1 as $element) {
    $this->_em->detach($element);
}
谢谢你的懒惰加载…:'(

foreach($result1 as $element) {
    $this->_em->detach($element);
}