首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Symfony原理QueryBuilder OneToMany滤波

Symfony原理QueryBuilder OneToMany滤波
EN

Stack Overflow用户
提问于 2016-04-24 17:12:42
回答 2查看 1.2K关注 0票数 1

我在我的仓库里有下面的代码

代码语言:javascript
复制
// ProductBundle/Repository/ProductRepository.php

$qb->where($qb->expr()->eq('afp.id', 15));
$qb->andWhere($qb->expr()->eq('afp.id', 14));

return $qb
            ->select('a', 'afp')
            ->leftJoin('a.productFields', 'afp')
            ->getQuery()
            ->getResult();

但是我总是得到空返回,但是我想要同时拥有productFields的产品(所以orWhere不是很好)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-24 21:34:42

您希望使用MEMBER OF而不是比较id。否则,您将查找具有两个不同id值的记录,当然这是不可能的。

这能做你想做的事:

代码语言:javascript
复制
$qb->where($qb->expr()->isMemberOf(15, 'a.productFields'));
$qb->andWhere($qb->expr()->isMemberOf(14, 'a.productFields'));
票数 2
EN

Stack Overflow用户

发布于 2022-02-17 13:03:53

试试这样的东西(Symfony 5):

代码语言:javascript
复制
$qb->andWhere(':c MEMBER OF a.productFields');
$qb->setParameter('c', 15);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36826361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com