今回は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...どんどん便利になっていきますね!
積極的に使うかどうかは別として、知っておいて損はない知識だと思います。
新しい機能にキャッチアップするのは大変ですが、しっかり追いついていきたいですね...!
それでわ!