0

我像这样执行一个简单的查询,但会丢失所有与剧集没有关联的对象:

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

这是一个简单的组合:

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

我的查询会自动丢弃具有空 $episodes 集合的对象。有谁知道为什么?我确信这是有道理的,但我无法弄清楚。不管有没有asso剧集,有没有办法获取对象?

非常感谢。

4

1 回答 1

1

我认为你想要 aLEFT JOIN而不仅仅是 a JOIN

JOIN 只给出左边的记录,右边也有记录。
LEFT JOIN 从左侧给出记录,无论它们是否在右侧也有记录。

于 2012-08-09T17:33:17.970 回答