gpt4 book ai didi

symfony - 在学说中使用 SQL IN 语句过滤查询

转载 作者:行者123 更新时间:2023-12-04 05:28:01 25 4
gpt4 key购买 nike

一个分行可能有很多客户,一个客户可能与很多分行有关。所以这是一个多对多的关系。

分公司:

<many-to-many target-entity="Customer" inversed-by="branches" field="customers"/>

客户:
<many-to-many field="branches" target-entity="Branch" mapped-by="customers"/>

现在我想执行以下查询:选择客户分支与给定分支对象匹配的所有客户。

这是我尝试过的:
  $branch = $em->getRepository('MyBundle:Branch')
->findOneById($bid);

$qb->select(array('c'))
->from('MyBundle:Customer', 'c')
->where($qb->expr()->in('c.branches', $branch))
->andWhere('c.delted = 0')
->getQuery();

所以我的想法是使用 IN 语句。但这不起作用。

错误:

Fatal error: Object of class DateTime could not be converted to string ..Query\Expr\Func.php on line 48



任何想法如何以正确的方式做到这一点?

最佳答案

尝试在您的查询中添加 join:

$qb->select(array('c', 'b'))
->from('MyBundle:Customer', 'c')
->join('c.branches', 'b')
->where('b IN (:branch)')
->andWhere('c.deleted = 0')
->setParameter('branch', array($branch))
->getQuery();

关于symfony - 在学说中使用 SQL IN 语句过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12968775/

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