1. craig-sen

    Posted

    craig-sen
Changes in title
+Laravel Eloquent firstWhere()到着
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,36 @@
+
+Taylorさんをはじめ、Laravelに貢献する開発者が頑張っていて、だんだんと新しい機能を追加されています。今回(2020-01-15)リリースされたLaravel 6.11.0 に含まれている機能の一つをしょかいします。
+
+### firstWhere() の 機能をEloquentに
+
+あるモデルを一意キーで検索する時、たとえばUserの`emaiIl`や `phonenumber` など、下記のようなコードを使うと思います
+
+```php
+ User::where('phonenumber', '12345')->first();
+```
+
+が [このPR](https://github.com/laravel/framework/pull/31089)でこのための専用の関数`firstWhere(キー、値)`が追加され、上記のコードをこのように書けるようになりました!
+
+```php
+ User::firstWhere('phonenumber, '12345');
+```
+
+便利ですね!今までこの機能は[collection](https://laravel.com/docs/6.x/collections#method-first-where)にふくまれていますが、これから`Eloquent`のモデルに使えるようになりました!
+
+### 注意点
+
+現時点、この機能はEloquentのクエリー・ビルダーしか対応されていないので、残念ながら`Illuminate\Database\Query\Builder`クラスでは使えません。
+
+つまり、下記のコードを実行すればエラーが発生します。
+
+
+```php
+ DB::table('users')->firstWhere('phonenumber', '12345');
+ // エラー
+```
+
+### 参照リンク
+
+https://github.com/laravel/framework/compare/v6.10.1...v6.11.0
+https://github.com/laravel/framework/pull/31089
+https://laravel.com/docs/6.x/collections#method-first-where