Laravel edit pagination следующий и предыдущий URL для фильтрации - PullRequest
0 голосов
/ 07 января 2019

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

public function infinite_scroll(Request $request)
{
    $key = $request->input('key');
    $group_name = $request->input('groupname');
    $wachat = Wechat::where('key', '=', $key)->where('groupName', '=', $group_name)->orderBy('id', 'DESC')->paginate(2);
    $this->response['values'] = $wachat;
    $this->response['key'] = $key;
    return response()->json(
        $this->response
    );
}

Я использую этот код, и он дает мне этот URL в следующем URL:

next_page_url: "http://localhost:8888/kc/kyo-webservice/public/api/v1/wechatinfinite?page=2"

Но мне нужна фильтрация на основе ключа и имени группы, например, когда я передаю имя группы параметров и ключ, она должна давать мне значения.

Когда я пытаюсь получить URL-адрес следующей страницы, он не работает. Я хочу, чтобы мой результат разбивался на страницы на основе моего фильтра, он должен выдавать мне URL-адрес следующей страницы следующим образом:

next_page_url: "http://localhost:8888/kc/kyo-webservice/public/api/v1/wechatinfinite??key=smg1np1f77&groupname=group&page=2"

И это должно дать мне результат, основанный на моих фильтрах.

1 Ответ

0 голосов
/ 07 января 2019

используется appends() метод нумерации страниц здесь

Присоединение к ссылкам на нумерацию страниц

Вы можете добавить к строке запроса нумерации страниц, используя добавляет метод. Например, добавить сортировку = голоса к каждой нумерации страниц ссылка, вы должны сделать следующий вызов для добавления:

$wachat->appends(['key'=> $key,'groupname' => $group_name]);

в вашем контроллере сделайте так

public function infinite_scroll(Request $request)
{
    $key = $request->input('key');
    $group_name = $request->input('groupname');
    $wachat = Wechat::where('key', '=', $key)->where('groupName', '=', $group_name)->orderBy('id', 'DESC')->paginate(2);
    $wachat->appends(['key'=> $key,'groupname' => $group_name]);
    $this->response['values'] = $wachat;
    $this->response['key'] = $key;
    return response()->json(
        $this->response
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...