Laravel 5.2 Перенаправление на строку запроса страницы

Я получаю результаты продуктов на странице категории. И у меня есть система, чтобы скрыть распроданные продукты.

Подумайте, что существует десять страниц для всех продуктов в категории. Когда я проверяю флажок скрыть распроданы продукты. Система возвращает? Page = 10 Но в? Page = 10 нет товара

Я решил использовать систему Redict.

$products = (new Product)->getProductsOfCategory($category->id);
$last_page = $products->lastPage();

if(request()->has('page'))
{
if(request()->get('page') > $last_page)
{
$location = categoryUrl($category->id, $category->category, NULL, NULL, $last_page);
//Output: http://dtl/en/cat/authentic-purses/120?page=7
return redirect()->to($location);
}
}

Но я получаю ошибку

Method [links] does not exist on Redirect.

$ products — это данные, разбитые на страницы.


ОБНОВИТЬ :

public function getProductsOfCategory($category_id){
$query = $this->where('category_id', $category_id);
$query = $this->productFilter($query);

$query = $this->productSorting($query);
return $query->paginate(18);
}

Как я могу избавиться от этой ошибки?

0

Решение

Прежде всего getProductsOfCategory должен вернуть экземпляр Illuminate\Pagination\Paginator
Тогда где-то в вашем частичном представлении вы должны использовать это метод $products->links() Вы можете просмотреть раздел страниц на сайте.

Эта ошибка возникает, когда вы вызываете этот метод для плохого объекта, например: redirect()->links(),

Если это не поможет, вставьте сюда свой частичный вид.

0

Другие решения

Я решил проблему, не используя метод перенаправления Laravel.

header("Location: ".$location);
die();

отлично работает вместо

return redirect()->to($location)
0

По вопросам рекламы [email protected]