【Laravel】 クエリビルダでwhereを入れ子にする
入れ子の書き方
以下のSQLをクエリビルダで記述します。
sql
select * from table1
where column1 = value1
and (
column2 = value2
or column3 = value3
)
return \DB::table('table1')
->where('column1', value1)
->where(function($query){
$query->where('column2', value2)
->orWhere('column3', value3)
})
->get();
入れ子(複数階層)
あまり使う機会はないかもしれない複数階層の入れ子です。
\DB::table('table1')
->where(function($query){
$query->where('column1', value1)
->orWhere(function($query){
$query->where('column2', value2);
});
})
->get();
whereはクロージャを引数に取れるので、このようにいくらでも入れ子にできます。
ディスカッション
コメント一覧
まだ、コメントがありません