2016-05-01 12 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の最初には、どこかにあなたが方法$products->links()ウェブサイト上yoのビューページネーションセクション、それを使用する必要がありますあなたの部分図でその後Illuminate\Pagination\Paginator のインスタンスを返す必要があります。

このエラーは、不正なオブジェクトに対してこのメ​​ソッドを呼び出すと発生します。たとえば、redirect()->links()です。

これが役立たない場合は、ここに部分図を貼り付ける必要があります。

+0

私は$ products-> links()の結果を得ています。そのメソッドはPaginator –

+0

のインスタンスです。次に 'getProductsOfCategory'メソッドの本文を表示します。 –

0

Laravel Redirect Methodを使用せずに問題を解決しました。

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

ではなく、私たちはここにコードを逃している

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

あなたはそれを解決してうれしい! sidenoteとして、あなたは 'exit(header(" Location: "。$ location));'を実行するだけです。また、自分の答えをSolvedとマークしてください! :) – CmdrSharp

関連する問題