【发布时间】:2018-11-15 13:36:23
【问题描述】:
我的 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 语句上,因为请求中不再有类别和标签,所以它会将我重定向到主页。
【问题讨论】:
-
代码或它没有发生。
标签: php laravel laravel-5.6 laravel-pagination