【Laravel】個人的によく使うEloquentのWhere句まとめ
Laravelは自由かつ何でも実現できるフレームワークなので
(使いこなせているかは別として…)重宝しています。
今回は、個人的によく使うEloquent
のWhere
句を書き出してみました。
基本
$adminUsers = User::where('role', '=', 'admin')->get();
AND検索・OR検索
where
を付け足せばAND検索になります。
OR検索をするにはorWhere
を使います。
$users = User::where('role', '=', 'admin')
->Where('id', '>', 10);
->get();
$adminers = User::where('role', '=', 'admin')
->orWhere('role', '=', 'maintainer');
->get();
IN句で検索
IN句で検索します。
たとえば、Id
が0
か999
のユーザを取得します。
$specialUsers = User::whereIn('in', [0,999])->get();
NULLのレコードを検索
NULL
の値になっているレコードを取得します。
whereNull
を使います。
$invalidUsers = User::whereNull('nickname')->get();
NULLでないレコードを検索
NULL
でないレコードを取得します。
whereNotNull
を使います。便利ですね。
$validUsers = User::whereNotNull('nickname')->get();
ソート
orderBy
を使います。
降順は'desc'
、昇順は'asc'
を指定します。
またorderBy
ではなく、latest
、oldest
を使っても良いです。
$users = User::orderBy('id','desc')->get();
$users = User::orderBy('id','asc')->get();
$users = User::latest('id')->get();
$users = User::oldest('id')->get();
動的にWhereを追加する
条件によってクエリを変更したいとき。
$userQuery = User::query();
$userQuery = $userQuery->where('role', '=', 'member');
if ($condition1) {
$userQuery = $userQuery->where('condition', '=', '1');
}
if ($condition2) {
$userQuery = $userQuery->where('condition', '=', '2');
}
$users = $userQuery->get();
他にも思い出したら追記していこうと思います。
「他にもこれよく使う!」
というWhere句がありましたら是非コメント頂ければと思います!
Author And Source
この問題について(【Laravel】個人的によく使うEloquentのWhere句まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/akiyama01/items/c30cec937b5fa9fa94ff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .