Как добавить несколько «И» условий в JOIN - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь добавить условие «И» в запрос на соединение, но не смог выяснить это (не уверен, возможно ли это даже через 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

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

Вы можете использовать conditionType функции leftJoin в queryBuilder проверить документацию

    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')
0 голосов
/ 17 февраля 2020

Используйте опцию WITH следующим образом:

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

Документы

...