当我访问某人的个人资料时,我正在将其用于我的api:
return response()->
json(
User::load(["posts.comments"])
->where('username', request('username'))
->firstOrFail()
);
现在,当我想在关系上使用分页时,我会这样做:
$user->posts()->paginate(10);
但是我需要联系,所以我发现:
$user->setRelation('posts', $user->posts()->paginate(10));
现在我想知道是否有一种方法可以在模型内部创建自定义关系方法,所以当我使用load(['posts.comments'])
时,它会返回该自定义关系?
答案 0 :(得分:0)
一种方法是这样做:
return response()->
json(
User::with(['posts' => function($q) {
$q->paginate(5);
}, 'posts.comments' => function($q) {
$q->paginate(5, ['*'], 'commentsPage', request('commentsPage'));
}])
->where('username', request('username'))
->firstOrFail()
);
尽管我不确定如何通过$q->nextPageUrl()