技術系

[Laravel]便利メソッド-findOrFail-

技術系

こんにちは、なかにしです。
今回は先輩エンジニアに便利メソッドを教えていただいたので共有します!

findOrFailの使い方

find()メソッドをfindOrFailに置き換えると良いことが起きますので、実演します。

例えば、Userテーブルからidが11の人を取り出して表示したいとします。
▽今までの私の書き方がこちら

$user = User::find(11);
return view('welcome', ['user' => $user]);

まあ普通ですよね。
ここでもしidが11の人がいなかった場合、以下の画面になります。

いわゆる「エラー画面」ですね。
この「エラー画面」を避ける為、エラーハンドリングをします。

$user = User::find(11);

if (!isset($user)) {
   abort(404);
}

return view('welcome', ['user' => $user]);

該当ユーザーがいなければ404エラーを発生させてね、
という至って普通の記述(だと思ってました)

findOrFail()メソッドは、
問題なければそのまま表示、問題があれば404エラーを返す
という激アツメソッドです。

つまり、先ほどの記述はこう書けます。

$user = User::findOrFail(11);
return view('welcome', ['user' => $user]);

▽確認してみると…

ちゃんと404エラーが返ってきてます。すげぇ…

おわりに

今回は超絶便利メソッド「findOrFail」のご紹介でした!
Laravelは調べれば調べるほど便利メソッドが出てきますね。

でもDBを自動作成する機能はないのは何でだろう?
毎回手動で作るのめんどくさいんだよな~

これからも何か便利メソッド見つけたりしたら共有していきます!

今回はここまで!
Enjoy Hacking!!

タイトルとURLをコピーしました