次のような 3 つのテーブルがあります。
**Users**
id
**Posts**
id
user_id
**Favorites**
id
user_id
post_id
現在、投稿を表示するためにクエリを実行すると、その行で投稿を作成したすべての関連ユーザーデータが取得されるようになりました。これは素晴らしいことです! しかし、私が今やろうとしているのは、認証済み (ログイン済み) のユーザーが投稿 (行) をお気に入りに追加したかどうかを確認するために追加することです。すべての投稿に対して再クエリを実行したくありません (N+1 問題と呼ばれると思いますか?)。私はLaravel4を使用しています
投稿モデル
class Post extends Eloquent{
public function user(){
return $this->belongsTo('User');
}
ユーザーモデル
public function posts(){
return $this->hasMany('Post');
}
投稿コントローラー
public function index()
{
$posts = Post::with('user')->paginate(25);
return View::make('index', compact('posts'));
}