LaravelでのWhere句の使い方【現役エンジニアが解説】

PROGRAM

今回は、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関数を使った条件を指定し、複数のレコードを取得しています。