Laravel 4雄辩的查询使用WHERE和OR AND OR?

我怎么说 WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)

对于更复杂的查询,我应该使用原始SQL吗?


胡说叔叔
浏览 956回答 3
3回答

森林海

利用参数分组(Laravel 4.2)。以您的示例为例:Model::where(function ($query) {    $query->where('a', '=', 1)          ->orWhere('b', '=', 1);})->where(function ($query) {    $query->where('c', '=', 1)          ->orWhere('d', '=', 1);});

慕森王

如果要在Laravel 4中为a,b,c,d使用参数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);});

一只萌萌小番薯

如果您想在laravel 4中使用括号并且不要忘记返回(至少在Laravel 4中),则需要在示例中使用$ a,$ b括号$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);});这是我的结果: 
打开App,查看更多内容
随时随地看视频慕课网APP