Laravel Query Builder - оператор IN - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь создать запрос, объединяющий несколько таблиц, и у меня возникают проблемы при написании объединения с использованием оператора IN. Вот пример:

LEFT JOIN sProductDetailWarehouse pdw ON (pdw.ID_sProductDetail = pd.ID AND pdw.ID_sWarehouse IN (52,118)) 

Два значения установлены и не должны быть параметрами .... но это не работает, так как нет оператора IN:

->leftJoin('sProductDetailWarehouse as pdw', function($join)
                     {
                         $join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
                         $join->on('pdw.ID_sWarehouse','IN',DB::raw("(52,118)"));
                     })

Как я могу сделать это присоединиться? Я уверен, что есть способ сделать это, я просто не могу его найти ...

1 Ответ

1 голос
/ 02 апреля 2020

Когда вам нужно присоединиться к данным, вам нужно использовать метод 'where' вместо 'on'

например

->leftJoin('sProductDetailWarehouse as pdw', function($join)
    {
        $join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
        $join->whereIn('pdw.ID_sWarehouse',[52,118]);
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...