2016-05-12 93 views
1

私はすべての記事を改ページしたいと思います。ページあたり15個。 はここに呼び出しがページ付けすることです: Article::orderBy('created_at', 'desc')->paginate(15)Laravel Eloquent重複するクエリ

改ページが正常に動作しますが、問題は、各記事にLaravelは私のusersテーブルに問い合わせを行うことです。ページあたり15個の記事、ユーザーテーブルへの15個の重複したクエリここ はdebugbarからの画像です: image source

どのように改ページを最適化し、すべてのそれらの重複したクエリを消すことができますか?

+0

を使用するので、(N+1 query problemと呼ばれます)は、この問題を解決するために、これらのモデル間の1対多の関係を使用していますか? –

+0

ユーザモデルで私は 'public function articles()を持っています。 { return $ this-> hasMany(Article :: class); } 'と記事で私は' public function user()を持っています { return $ this-> belongsTo(User :: class); } '。 – ealocin

答えて

0

あなたはユーザーと記事のモデルの間で使用してください何の関係eager loading

Article::orderBy('created_at', 'desc')->with('user')->paginate(15) 
関連する問題