Eloquent ORM は Fluent を拡張するため、すべての流暢なメソッドを利用できます。Eloquent は、シンタックス シュガーのようなものです。慣れることをお勧めします。これにより、コードがきれいになります。
例を次に示します。
// Fluent query builder
DB::table('users')->where('id', '=', 1)->first();
// Eloquent
User::find(1);
// Generated SQL
select * from users where id = 1 limit 1;
どちらも同じ SQL を生成し、舞台裏で Eloquent は Fluent を使用しています。主な違いは、Eloquent を使用するには、Eloquent モデルを拡張するモデルが必要になることです。
理解しておくべき重要なことは、Eloquent クラスを拡張した場合にのみ、Eloquent メソッドを使用できるということです。アプリケーションに適切なデータベースを指定している限り、流暢なクエリ ビルダー メソッドをいつでも使用できます。
では、なぜ Eloquent を使用するのでしょうか。
上記の例のように、Eloquent と Fluent は同じ SQL を生成しますが、応答がより複雑な場合、返される結果には依然として大きな違いがあります。
Fluent クエリ ビルダは、値だけを含む「単純な」応答を返します。利用可能なメソッドはありません。これは、PDO の設定によって異なります。
Eloquent は、あなたのためにもっと多くのことを行います。Eloquent モデルから直接得られるメソッドを利用できます。ここにも大きな利点が 1 つあります。Eloquent は、多くの便利なインターフェイスを実装するコレクションを返します。これは、返されたデータで多くのことができることを意味します。
いくつかの良い読み物を次に示します。
雄弁で流暢とは?
雄弁なコレクション