【发布时间】:2014-08-17 21:05:25
【问题描述】:
我正在使用 Laravel 4.1.x 并且我在标签和照片之间有很多和属于多的关系(一张照片属于许多标签,一个标签属于许多照片)。我正在使用带有 tag_id 和 photo_id 的数据透视表
我知道如何对标签进行分页,使用:
Tag::paginate($limit);
我可以使用以下方法获取一个包含所有相关照片的标签:
Tag::find($id);
但我现在想做的是检索属于一个标签的所有照片,但对它们进行分页。因此,它类似于我展示的第二个代码,但带有页面和限制参数。
例如,我想查看属于 id=1 标记的前 15 张照片,然后能够选择第二个 15。
更新:
根据提供的答案,我尝试使用->photos()->paginate(),但使用它,它不会从标签返回其余信息(名称、描述等)。
我已经能够使用:
$tag = Tag::findOrFail($id)->toArray();
$tag['photos'] = Tag::findOrFail($id)->photos()->paginate($limit)->toArray();
但我不确定是否有其他方法可以做到这一点,以及这是否会产生额外的查询。
【问题讨论】:
标签: php laravel orm pagination eloquent