多対多の関係にあるPostモデルとTagモデルがあります。
投稿とすべてのタグを取得したら、投稿にこれを使用します。これで問題なく動作します。
$posts = Post::with(array('tags'))
->where('cat_id', '=', $cat->id)
->where_published(1)
->order_by('created_at', 'desc')
->paginate('10');
上記のコードは、作成された最新の投稿を示し、それらをページ分割します。
同じことを達成したいのですが、逆に、タグから始めて、created_at列でページ付けおよび順序付けされた投稿のリストを取得します。
Tag::with(array('posts'))
->where('tagname', '=', $tag)
->first();
これは機能しますが、すべての投稿が表示されます。ページ付け、順序付け、フィルタリングが行われるwhere_published(1)が必要です。
これは、熱心な読み込みを使用して雄弁に行うことができますか(熱心な読み込みなしで、私はすでにそれを行うことを知っていますが、クエリが多すぎます)?
フィルタリングはどこに置くことができ、どのようにページ付けすることができますか?