Laravel: добавление нумерации страниц в запрос - PullRequest
0 голосов
/ 04 мая 2020

Как я могу добавить paginate к этому запросу? Данные о нумерации страниц не отображаются в моем ответе json.

  $posts = Post::with('comments','settings')
    ->whereIn('user_id', function($query)
        use($id){
            $query->select('followable_id')
            ->from('followables')
            ->where('user_id', $id)->paginate(10);
        }
    )->orWhere('user_id', $id)
        ->latest()
        ->get();

    return response()->json($posts);

Ответы [ 2 ]

1 голос
/ 04 мая 2020

->paginate(10);

Пагинация должна быть на внешней стороне запроса (не в закрытии whereIn)

Попробуйте поменять ->get(); на ->paginate(10);

1 голос
/ 04 мая 2020

Быстрая проверка в документах показывает:

Вы можете вызвать paginate после установки других ограничений в запросе, таких как условия where:

Обратите внимание, что после другие ограничения говорят - нет смысла использовать разбиение на страницы внутри предложения whereIn(). Так что в вашем случае это будет что-то вроде:

$posts = Post::with('comments','settings')
    // ... your code, no pagination ...
    )->orWhere('user_id', $id)
        ->latest()
        ->paginate(10);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...