laravel where子句如何使用?

时间:2018-09-05 07:33:50

标签: php laravel

我是Laravel新手。 如何将以下查询转换为Laravel where子句。

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

4 个答案:

答案 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);
})

引用:Parameter Grouping

答案 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();