Eloquentクエリが回答を返さないかどうかを確認する最良の方法は何ですか? 質問する

Eloquentクエリが回答を返さないかどうかを確認する最良の方法は何ですか? 質問する

私は Laravel 4 を使用しています。Eloquent モデル (Patient) があり、Bob という名前の患者を取得したい場合は、次のようにします。

$patient = Patient::where('name', '=', 'Bob');

$patient が有効なレコードであるかどうかを確認する最良の方法は何ですか?

ベストアンサー1

データベース クエリで一致する結果が見つからない場合は、 を返しますnull。したがって...

$patient = Patient::where('name','=','Bob')->first();

if ( is_null($patient) ) {
  App::abort(404);
}

(注: 元の質問では、クエリに->first()(または->get()) を忘れていました。それを忘れないでください。そうしないと、結果ではなく Eloquent オブジェクトが返されます。)

おすすめ記事