Ошибки в пагинации Laravel - PullRequest
1 голос
/ 26 июня 2019

Мне нужно получить конкретные поля из базы данных, а затем разбить результаты на страницы, но я не уверен, где разместить ->paginate().

Мой код, как показано ниже:

Upload::where('sponsor_id', Request::segment(2))
        //->paginate(20)
        ->join('users', 'users.id', 'uploads.uploaded_by')
        ->orderBy('uploads.created_at', 'DESC')
        ->get([
            'uploads.filename',
            'users.first_name',
            'users.surname',
            'uploads.errors',
            'uploads.statistics',
            'uploads.created_at',
        ])

Я получаю правильные результаты без разбивки на страницы, но я хотел бы разбить результаты на страницы.

Ответы [ 2 ]

7 голосов
/ 26 июня 2019

Сначала вам нужно использовать select, затем перейти на нумерацию страниц.

Upload::where('sponsor_id', Request::segment(2))           
        ->join('users', 'users.id', 'uploads.uploaded_by')
        ->orderBy('uploads.created_at', 'DESC')
        ->select('uploads.filename','users.first_name','users.surname',
             'uploads.errors',
            'uploads.statistics',
            'uploads.created_at')
        ->pagiate(10);
1 голос
/ 26 июня 2019

Вы можете использовать метод select для фильтрации столбцов.А затем поставьте paginate конец метода вашего запроса.В конце концов ваш запрос будет выглядеть так:

Upload::where('sponsor_id', Request::segment(2))
    ->join('users', 'users.id', 'uploads.uploaded_by')
    ->orderBy('uploads.created_at', 'DESC')
    ->select(
        'uploads.filename',
        'users.first_name',
        'users.surname',
        'uploads.errors',
        'uploads.statistics',
        'uploads.created_at',
    )
    ->paginate(20);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...