gpt4 book ai didi

php - createQueryBuilder 条件 oneToMany

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

我正在使用 Symfony 3.4 并且我在查询时遇到问题:

$qb = $this->createQueryBuilder('o')
->leftJoin('o.prices', 'p', 'WITH', 'p.dateEnd >= :now OR p.dateEnd IS NULL')
->setParameter('now', $nowDate);

return $qb->getQuery()->getResult();

所以,我有一个实体Offer o OneToMany Price p

仅当条件有效时,我才需要通过此查询获取报价和价格:p.dateEnd >= :now OR p.dateEnd IS NULL

我的数据库中有 2 个价格,dateEnd=null 和 dateEnd=2018-01-01 00:00:00,所以我希望只检索 dateEnd=null 的价格,但我的 getResult() 中有所有价格...

为什么?

如何才能仅获取特定价格而不是每个优惠的所有价格?

谢谢!

编辑:这是我的sql:

SELECT o0_.id AS id_0
FROM offer o0_
LEFT JOIN price p1_
ON o0_.id = p1_.offerId
AND (p1_.date_end >= ? OR p1_.date_end IS NULL)

enter image description here

最佳答案

答案是在查询中添加 ->select('o', 'p') 。不知道为什么!

关于php - createQueryBuilder 条件 oneToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48321753/

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