Laravelでの存在チェックの方法【現役エンジニアが解説】

PROGRAM

今回は、Laravelでの存在チェックの方法について、簡単に解説していきます。

基本のSQL

Laravelかどうかは関係なく存在チェックにはSQLを使います。

いくつかやり方はありますが、基本的にはCOUNT関数を使う方法が一般的です。

SELECT COUNT(id) FROM users WHERE id = 1;

上記の例では、usersテーブルでidが1のレコード数の合計をSQLで取得していますので、これが0より上かで存在チェックができます。

countメソッドを使う方法

Laravelでは存在チェックのSQLを生で書く必要はありません。

whereメソッドとcountメソッドを使えば条件に合致するレコード数を取得できます。

if (DB::table('users')->where('id', '=' $id)->count() > 0) {
    // 存在する場合の処理
}

実際に存在チェックをする場合、上記のようにif文と組み合わせて、レコード数が0より上かを見ます。

existsメソッドを使う方法

Laravelにはexistsメソッドも用意されています。

これとwhereメソッドを使うことによって、存在チェックが可能です。

if (DB::table('users')->where('id', '=' $id)->exists()) {
    // 存在する場合の処理
}

上記のコードのように、0より上かはexistsメソッドが判定するため、戻り値がtrueかfalseかを見れば良いだけになります。