Создание нового пользовательского метода отношений в модели Laravel - PullRequest
0 голосов
/ 10 декабря 2018

Я использую это для моего API, когда я захожу в профиль:

return response()->
json(
    User::load(["posts.comments"])
    ->where('username', request('username'))
    ->firstOrFail()
);

Теперь, когда я хочу использовать paginate для отношений, я делаю это так:

$user->posts()->paginate(10);

НоМне нужно отношение, поэтому я нашел:

$user->setRelation('posts', $user->posts()->paginate(10));

Теперь мне интересно, есть ли способ создать метод пользовательского отношения внутри модели, поэтому, когда я использую load(['posts.comments']), он возвращает эти пользовательские отношения?

1 Ответ

0 голосов
/ 10 декабря 2018

Один из способов сделать это:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...