2016-08-05 6 views
-1

Laravel 5.2

私は、ユーザーがページフォルトのエントリだったかどうかをテストしたい、と私はあなたの最後のページ付け、ユーザーをリダイレクトしたいが、私がしたいですリソースコントローラ`Return`方法は、保護された機能で作業をdosn't

// Resource controller 

protected function checkPage($paginate_number){ 
    $paginate_count = Product::count()/$paginate_number; 

    if(isset($_GET['page']) && $_GET['page'] > $paginate_count){ 
     return redirect('/admin/products?page='.$paginate_count); 
    } 
} 

public function index(){ 
    $paginate_number = 3; 
    $this->checkPage($paginate_number); 

    $products = Product::paginate($paginate_number); 
    return view('admin.products-view')->withProducts($products);   
} 

で保護機能を使用して行いますが、私はreturn redirect(...)外の保護機能を使用する場合には、
がどのように私はprotected function内でそれを使用することができます動作しますか?

+0

これは '')(リダイレクト定義され、それはPHPの機能に組み込まれていないのです。また、if条件が真でなければならないことは確かです。そして、私はあなたに実際にそれを呼んでいると仮定しています(例では示されていません)。しかし、私はリダイレクトに戻るという点は見ません。 – ArtisticPhoenix

答えて

0

この問題を解決する良い方法が見つかりましたprotected function私はそれで

ソリューションリダイレクトを使用することはできませんので:それはそれを使用する前に定義する必要がありますので

protected function checkPage($paginate_number){ 
    $paginate_count = Product::count()/$paginate_number; 

    if(isset($_GET['page']) && $_GET['page'] > $paginate_count){ 
     // If needed to create another error page to explain current error 
     return abort(404); 
    } 
} 
0

ルートにない機能では、リダイレクトを使用できません。あなたのcheckpage関数はサブ関数として呼ばれているので動作しません。私はあなたが正しく使用する直接機能を確認していません。私は通常リターンを使用しています:: back(); orリダイレクト:: to( 'url'); `

関連する問題