Пагинация Laravel перенаправляет на домашний маршрут после нажатия на ссылку на странице 2

Моя нумерация 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, который перенаправляет меня на дом, потому что в запросе больше не было категорий и тегов.

1 ответ

Исправлена ​​проблема с добавлением строки запроса для получения запроса в ссылках на страницы:

$meals->appends(request()->input())->links()
Другие вопросы по тегам