Как использовать Laravel, где пункт? - PullRequest
0 голосов
/ 05 сентября 2018

Я новичок в Ларавеле. Как преобразовать следующий запрос в предложение Laravel where.

where category='1' and (shipping_from='1' OR shipping_to='2')

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018
->where('category', 1)
->where(function ($query){
     $query->where('shipping_from', 1)
           ->orWhere('shipping_to', 2);
})

См .: Группировка параметров

0 голосов
/ 26 января 2019

Пожалуйста, проверьте документацию группировки параметров в Laravel 5.7

$products = Product::where('category', 1)
            ->where(function ($query){
                $query->where('shipping_from', 1)
                      ->orWhere('shipping_to', 2);
            })->get();

Первоначально Laravel думает, что AND условие во всех where условиях. до тех пор, пока вы не укажете or.

0 голосов
/ 05 сентября 2018

Вы должны использовать вложенные группы параметров: https://laravel.com/docs/5.6/queries#parameter-grouping. Например:

->where('category','1')
->where(function ($query) {
            $query->where('shipping_from', '1')
                  ->orWhere('shipping_to', '2');
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...