13

Codeigniter のバックグラウンドが原因かもしれませんが、Laravel 4 の Eloquent ORM をあまり楽しんでいないことに気づきました。投稿のリストをIDで降順に並べ替えるクエリを書きたいとします.EloquentはどうすればDB::table('posts')->orderBy('id', 'desc')->get();.

Fluent よりも Eloquent を使用する正当な理由はありますか?それは主にテーブルを結合するためでしたか?

4

2 に答える 2

29

私も codeigniter から来ました。これが私の経験です。通常、Eloquent と Fluent を一緒に使用します。Eloquent は、リレーションや CRUD 操作などをうまく処理できるようにするものです。いくつかの SQL 操作を行う必要がある場合は、流暢な関数を簡単に追加できます。

上記の例では、投稿テーブルがあることがわかります。ポスト モデルがある場合、Eloquent を使用して同じことを書くと次のようになります。

Post::orderBy('id', 'desc')->get();

あなたがEloquentを拡張した場合、私が得るように

Model_name::some_functions

と同じです

DB::table('table_name')->some_functions

モデルを作成または更新する必要があるとき、または投稿コメントを取得する必要があるときに、真の力が発揮されます。それが簡単になるより:

$comments = Post::find($id)->comments;

答えは、流暢な関数を使用して順序付きリストを取得する必要があるということです。DB::table('posts')->orderBy または Post::orderBy で両方を使用できます

于 2013-07-19T07:16:31.993 に答える