繁体   English   中英

在Laravel模型中建立新的自定义关联方法

[英]Making new custom relation method in laravel model

访问某人的个人资料时,我将其用于我的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'])它会返回该自定义关系吗?

一种方法是执行此操作:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM