Laravel 4 Eloquent Query Using WHERE with OR AND OR? Laravel 4 Eloquent Query Using WHERE with OR AND OR? laravel laravel

Laravel 4 Eloquent Query Using WHERE with OR AND OR?


Make use of Parameter Grouping (Laravel 4.2). For your example, it'd be something like this:

Model::where(function ($query) {    $query->where('a', '=', 1)          ->orWhere('b', '=', 1);})->where(function ($query) {    $query->where('c', '=', 1)          ->orWhere('d', '=', 1);});


If you want to use parameters for a,b,c,d in Laravel 4

Model::where(function ($query) use ($a,$b) {    $query->where('a', '=', $a)          ->orWhere('b', '=', $b);})->where(function ($query) use ($c,$d) {    $query->where('c', '=', $c)          ->orWhere('d', '=', $d);});


if you want to use parentheses in laravel 4 and don't forget return
In Laravel 4 (at least) you need to use $a, $b in parentheses as in the example

$a = 1;$b = 1;$c = 1;$d = 1;Model::where(function ($query) use ($a, $b) {    return $query->where('a', '=', $a)          ->orWhere('b', '=', $b);})->where(function ($query) use ($c, $d) {    return $query->where('c', '=', $c)          ->orWhere('d', '=', $d);});

This is my result:enter image description here