我有一个 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) 上进行分页、排序和过滤。
这可以通过使用预先加载的 eloquent 来完成吗(没有预先加载我已经知道这样做但是会有太多的查询)?
我在哪里可以放置过滤器以及如何让它们分页?