gpt4 book ai didi

php - DQL 允许空连接吗?

转载 作者:行者123 更新时间:2023-11-29 23:52:11 25 4
gpt4 key购买 nike

在我的实体“Item”中,有一个称为“products”(实体“Product”)的 ArrayCollection 属性,该属性可以为空

我需要在一次 DQL 调用中对“Item”实体数组进行所有产品信息(无论是否为空)

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

我很高兴现在能回到我的生活。

关于php - DQL 允许空连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com