LaravelでのWhere句の使い方【現役エンジニアが解説】
今回は、LaravelでのWhere句の使い方について、簡単に解説していきます。
基本
LaravelでもWhere句を使うことができます。
$user = User::where('name','=','hoge')->first();
モデルのクラスにwhereメソッドがあり、カラム名と演算子と値の3つの引数を指定します。
上記の例では、Userモデルのテーブルよりnameカラムの値がhogeであるものの最初のレコードを取得しています。
複数の条件
LaravelではWhere句の中に複数の条件を指定可能です。
その場合、複数のwhereメソッドを続けて書く形となります。(or条件を書く場合にはorWhereメソッドを使います。)
$user = User::whereNotNull('email_verified_at')->where('name','=','hoge')->first();
上記のコードでは、Userモデルのテーブルから、email_verified_atカラムの値がnullでなく、かつnameカラムの値がhogeの最初のレコードを取得しています。
データベース関数を使った条件
LaravelにおいてもWhere句にデータベース関数を使用できます。
その際、引数の値がそのまま使われるwhereRawメソッドを使うことになります。
$users = User::whereRaw("RIGHT(email,3) = '.jp'")->get();
上記のコードの例では、データベースのRIGHT関数を使った条件を指定し、複数のレコードを取得しています。