【Laravel】Firstwhere()メソッド

今回はlaravelのwhere()->first()を省略してかけるFirstWhereについてです。

つい最近実装されたようです。

では早速みていこうと思います。

DBからの値の取得

DBから値を取得する場合、以下のように取得することがあると思います。

$user = App\User::where('id', 1)->first();

これを...

>>> $getuser = App\User::Firstwhere('id', 1);
=> App\User {#2974
     id: 1,
     name: "Taka",
     email: "Taka@pon",
     email_verified_at: null,
     created_at: "2020-02-23 04:29:46",
     updated_at: "2020-02-23 04:29:46",
   }

こうかけるわけです!ちょっぴり短くなりましたね。

コレクションの方では以前からあったんですが、Eloquentモデルでは使用できませんでした。

ただし、あくまでEloquentでのみ使用可能で、クエリビルダでは使用不可能みたいですね。

>>> $getuserDB = Illuminate\Support\Facades\DB::table('users')->where('id', 1)->first();
=> {#2984
     +"id": 1,
     +"name": "Taka",
     +"email": "Taka@pon",
     +"email_verified_at": null,
     +"password": "Takapon",
     +"remember_token": null,
     +"created_at": "2020-02-23 04:29:46",
     +"updated_at": "2020-02-23 04:29:46",
   }
>>> $getuserDB = Illuminate\Support\Facades\DB::table('users')->Firstwhere('id', 1);
BadMethodCallException with message 'Call to undefined method Illuminate/Database/Query/Builder::Firstwhere()'

まとめ

firstwhere...どんどん便利になっていきますね!

積極的に使うかどうかは別として、知っておいて損はない知識だと思います。

新しい機能にキャッチアップするのは大変ですが、しっかり追いついていきたいですね...!

それでわ!

おすすめの記事