2016-05-01 96 views
0

我收到了類別頁面中產品的結果。我有系統來隱藏已售完的產品。Laravel 5.2重定向到頁面查詢字符串

認爲有10個頁面適用於所有類別的產品。當我檢查複選框隱藏售完產品。系統返回?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.

$產品進行分頁數據。


UPDATE:

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

我們在這裏失蹤的代碼。你可以轉儲'$ location'的輸出嗎?另外 - 我建議尋找爲什麼系統返回一個沒有產品的頁面,而不是修復如果用戶去那裏會發生什麼。 – CmdrSharp

+0

我更新了位置輸出 –

+0

系統正在返回沒有產品的頁面。因爲我發佈到同一頁面。只顯示股票。 –

回答

0

所有getProductsOfCategory首先應該返回的Illuminate\Pagination\Paginator 實例,然後在某處你的部分觀點,你應該使用它的方法$products->links()在網站上喲視圖分頁部分。

當您在不良對象上調用此方法時出現此錯誤,例如:redirect()->links()

如果這不起作用你應該在這裏粘貼你的部分視圖。

+0

當我dd產品 - >鏈接()我得到的結果。該方法是Paginator的一個實例 –

+0

好了,然後顯示「getProductsOfCategory」方法的主體。 –

0

我解決了問題,而不使用Laravel重定向方法。

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

正常工作,而不是

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

很高興你解決了它!作爲旁註,你可以'exit(header(「Location:」。$ location));'。此外,將您自己的答案標記爲已解決! :) – CmdrSharp