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