我的Laravel分页无法正常工作。当我尝试在laravel分页中单击第二个链接或单击另一个链接而不是第一个链接时,它会将我重定向到主URL(localhost:8000)。
Laravel分页链接正在重定向到相同的路由,但带有“ page =”参数,但是问题是在此路由上,我具有带有if语句的控制器,该语句将我重定向到主页。如何将分页结果发送到另一条路线并正确显示每个分页,而不会受到控制器的影响。
这是控制者:
$per_page = 5; //default
//Za ispis kategorija i tagova u filteru
$filter_categories = Category::all();
$filter_tags = Tag::all();
if($request->per_page){ $per_page = $request->per_page; }
//Ako ne postoji zahtjev za kategorijama i tagovima
if(!$request->category && !$request->tags) {
//Provjera da li postoji zahtjev za broj jela po stranici
if(only_meals_per_page($request)){
$meals = Meal::paginate($per_page);
return view('index', compact('meals', 'filter_categories', 'filter_tags'));
}
//Ako ne postoji nikakvi zahtjev vrati se na početak
return redirect('/');
//Zahtjev za kategorijom
} else if($request->category && !$request->tags) {
$result = filter_meals_by_category($request->category, $per_page);
//Zahtjev za tagovima
} else if(!$request->category && $request->tags) {
$result = filter_meals_by_tags($request->tags, $per_page);
//Zahtjev za kategorijama i tagovima
} else {
$result = filter_meals_by_categories_and_tags($request->category, $request->tags, $per_page);
}
$meals = $result['meals'];
$message = $result['message'];
Session::flash('message', $message);
return view('index', compact('meals', 'filter_categories', 'filter_tags'));
..以及带有分页方法的$ result数组的示例
$meals = Meal::where('category_id','=', NULL)->paginate($per_page);
我知道问题可能出在第一个if语句中,因为我已经不再有任何类别和标签了。
答案 0 :(得分:0)
通过在分页链接中附加get请求的查询字符串解决的问题:
$meals->appends(request()->input())->links()