我是Laravel新手。 如何将以下查询转换为Laravel where子句。
where category='1' and (shipping_from='1' OR shipping_to='2')
答案 0 :(得分:5)
您应该使用嵌套参数分组:https://laravel.com/docs/5.6/queries#parameter-grouping。例如:
->where('category','1')
->where(function ($query) {
$query->where('shipping_from', '1')
->orWhere('shipping_to', '2');
})
答案 1 :(得分:1)
->where('category', 1)
->where(function ($query){
$query->where('shipping_from', 1)
->orWhere('shipping_to', 2);
})
答案 2 :(得分:0)
请检查parameter-grouping in 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
。
答案 3 :(得分:0)
您也可以这样尝试:-
use App\Model;
$data = Model::where('category','1')
->where(function ($query) {
$query->where('shipping_from', '1')
->orWhere('shipping_to', '2');
})->get();