Laravelを使用していて、テーブルからレコードを取得した際にレコードが存在している場合と、存在していない場合などで処理を分けるということがあると思います。
今回の記事では、Laravelでテーブルからレコードを取得した際にレコードが存在するか存在しないかの判別の方法を紹介します。
レコードが存在するかの判別方法
オブジェクト存在するかを確認
$user = User::where('email', '=', Input::get('email'))->first(); if ($user === null) { // user doesn't exist }
Laravelの場合、レコードが存在しない場合は、nullで値が返ってきます。
なので、nullかどうかでレコードがあるかどうかを判別することが出来ます。
オブジェクトが存在するかをチェックだけする場合
DBのテーブルに対象のレコードがあるかチェックするだけであれば、下記のような方法でチェックすることが出来ます。
方法 – 1
if (User::where('email', '=', Input::get('email'))->count() > 0) { // user found }
方法 – 2
if (User::where('email', '=', Input::get('email'))->exists()) { // user found }
方法 – 2の方が読みやすくスマートなやり方かもしれません。
まとめ
Laravelでテーブルのレコードが存在するかどうかの確認する方法について紹介しました。
レコードがあるかないかで処理を分ける機会というのは結構あると思います。そのような際はぜひ、参考にしてください。