2016-03-03 78 views
1

我正在編寫一些類似「學校俱樂部管理系統」的東西,並在資源的權限授權上遇到一些問題。Laravel中間件獲取路由參數

假設有clubclub有經理,我想檢查用戶是否是club的經理,然後才能用中間件來管理它。

使用laravel 5.2

router看起來像這樣:

Route::resource('club', 'ClubController');

我創建看起來像這樣的中間件:

public function handle($request, Closure $next) 
    { 
     if (!Auth::check()){ 
      // ask user to login 
     } 

     $club = Club::findOrFail($request->input('club')); 
     $user = Auth::user(); 

     if (!$club->managers->contains($user)){ 
      //tell user your are not manager . 
     } 

     return $next($request); 
} 

但我沒能得到俱樂部的id從requests

我該如何解決問題?

在此先感謝。

回答

1

如果您正在尋找url參數,那麼從中間件內部laravel 5.2中的資源路徑獲取該參數的最佳方式如下。可以說你想獲得id參數表單url url/edit/{id}

$request->route()->parameter('id'); 
0

Woops,我在檢查dd($requests)後發現了ans。

我可以用$requests->club來獲取參數。

謝謝大家。