【问题标题】:How to add multiple "AND" conditions in a JOIN如何在 JOIN 中添加多个“AND”条件
【发布时间】:2020-02-16 23:03:24
【问题描述】:

我正在尝试向联接查询添加“AND”条件,但无法弄清楚(不确定是否可以通过 Doctrine/Symfony 实现)。如有任何帮助,我将不胜感激。

->select('c, p')
->from(Customer::class, 'c')
->leftJoin('c.phones', 'p')

例子:-

SELECT c.*, p.*
FROM customer c
LEFT JOIN phone p ON c.id = p.customer_id AND p.is_main = 1 AND p.category = 0

【问题讨论】:

    标签: symfony doctrine-orm doctrine symfony4 doctrine-query


    【解决方案1】:

    可以在queryBuilder中使用leftJoin函数的conditionType check the documentation

        public function leftJoin($join, $alias, $conditionType = null, $condition = null, $indexBy = null);
    
        Example:
        $qb->leftJoin('c.phones', 'p', 'WITH', 'p.is_main = 1 AND p.category = 0', 'p.id')
    

    【讨论】:

      【解决方案2】:

      像这样使用 WITH 选项:

      $qb->leftJoin('c.phones', 'p', 'WITH', 'p.is_main = 1 AND p.category = 0', 'p.id')
      

      Docs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-13
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 2013-09-23
        • 2012-06-21
        • 2022-12-11
        • 1970-01-01
        相关资源
        最近更新 更多