我在类别页面中获得了产品的结果。我有系统隐藏售罄的产品。
认为所有类别的产品都有十页。当我检查复选框隐藏已售完的产品。系统返回?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 :(得分:0)
首先Illuminate\Pagination\Paginator
应该返回$products->links()
的实例
然后在局部视图的某处,您应该使用方法redirect()->links()
yo在网站上查看分页部分。
当你在坏对象上调用此方法时会遇到此错误,例如:from urllib.request import urlopen
。
如果这不会有帮助您应该在此处粘贴部分视图。
答案 1 :(得分:0)
我在不使用Laravel Redirect Method的情况下解决了这个问题。
header("Location: ".$location);
die();
工作正常,而不是
return redirect()->to($location)