在我的实体' Item'中,有一个ArrayCollection属性称为" products" (实体'产品')可以为空
我需要在一个DQL调用中获取所有产品信息(空或不空),以获得' Item'实体
$query = $this->getEntityManager()->createQueryBuilder();
$query->select(['v', 'p'])->from($this->getEntityName(), 'v')
->join('v.products', 'p')
->orderBy('v.datePublished', 'DESC')
->setMaxResults($limit);
这里的问题是,返回的唯一记录是其中至少包含一个产品的记录。我还需要返回包含空产品的商品。
有什么想法吗?
答案 0 :(得分:0)
好的,所以......这就是所需要的:
$query = $this->getEntityManager()->createQueryBuilder();
$query->select(['v', 'p'])->from($this->getEntityName(), 'v')
->join('v.products', 'p')
->orderBy('v.datePublished', 'DESC')
->setMaxResults($limit);
变为
$query = $this->getEntityManager()->createQueryBuilder();
$query->select(['v', 'p'])->from($this->getEntityName(), 'v')
->leftJoin('v.products', 'p')
->orderBy('v.datePublished', 'DESC')
->setMaxResults($limit);
我很高兴现在回到我的生活中。