web-dev-qa-db-ja.com

Laravel-カスタム列で検索するか失敗する

何も見つからなかった場合に404​​をスローするfindOrFail()メソッドがあります。例えば:

User::findOrFail(1);

カスタム列でエンティティを見つけるか、次のように失敗するにはどうすればよいですか?

Page::findBySlugOrFail('about');
47
Limon Monte

このようにしてみてください:

Page::where('slug', '=', 'about')->firstOrFail();
109
Alupotha

Laravel 5.6のwhere()の後にfirstOrFail()メソッドをチェーンすると、基本的にテーブルの最初のレコードを取得しようとし、where句を削除することを認識するのに少なくとも2時間かかりました。そこで、whereの前にfirstOrFailを呼び出します。

Model::firstOrFail()->where('something', $value)
1
Buraco