我正在研究搜索选项。当用户选择他们想要的城市时,它给了我一个数组。我合并该数组并将其传递给视图。
这是我的代码-
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'));
}
}
现在,问题是每当我单击第二页时,我就会从数据库查询中获取数据。但是,每当我单击第一页时,它都会提供所有数据(未排序的数据)。它没有保存搜索值。
这就是我使用分页的方式
{!! str_replace('/?', '?', $boat->render()) !!}
您能帮我解决这个问题吗?另外,如果它们是分页的另一种方法,请告诉我。
预先感谢您分享知识和解决方案。