Как сделать пагинацию в Laravel? - PullRequest
0 голосов
/ 18 ноября 2018

Я работаю над опцией поиска. Когда пользователь выбирает свой нужный город, он дает мне массив. Я объединяю этот массив и передаю его для просмотра.

Это мой код -

public function boatSort(Request $request){
        $city   = $request->city;//dd($city);
        $min    = $request->min;
        $max    = $request->max;

        $current_page = LengthAwarePaginator::resolveCurrentPage();

        $boat_list = new Boats;
        $boat_y = array();
        $boat_t = array();
        $boat_c = array();

        $boat_city = DB::select("SELECT c.name FROM `boats` AS b, `city` AS c WHERE b.city = c.id");

        if(count($city)>0){
            for($i=0; $i<count($city); $i++){

                $boat_city[$i] = DB::select("SELECT * FROM `boats` WHERE city = ".$city[$i]);
                $boat_c = array_merge($boat_c, $boat_city[$i]);//dd($boat);

            }
            $current_page_orders = array_slice($boat_c, ($current_page - 1) * 5, 5);
            $boat = new LengthAwarePaginator($current_page_orders, count($boat_c), 5);
            return view('user-interface/sort_by', compact('boat', 'boat_city'));
        }

    }

Теперь проблема в том, что, когда я нажимаю на вторую страницу, я получаю данные, извлеченные из запроса базы данных. Но всякий раз, когда я нажимаю на 1-й странице, она выдает все данные (не отсортированные данные). Не содержит поиска значений.

Вот как я использую нумерацию страниц

{!! str_replace('/?', '?', $boat->render()) !!}

Не могли бы вы помочь мне решить эту проблему? Кроме того, если есть какой-либо альтернативный способ нумерации страниц, пожалуйста, дайте мне знать.

Заранее спасибо, чтобы поделиться знаниями и решения.

...