2015-06-13 72 views
4

我定義路線的控制是這樣的:Laravel 5:獲得路線參數在控制器的構造

/model/{id}/view 
/model/something/{id}/edit 

我需要得到id參數在該控制器的構造器。例如:

class ArtController extends Controller { 

    public function __construct(Request $request){ 
    //dd($this->route('id')); //Doesn't work 
    //dd($request->segments()[1]); //this works for the first route but not the second 
    } 
} 

你怎麼能得到在Laravel一個控制器的構造函數的參數id

+3

不應該'$這個 - >路線( 'ID')'是'$ request-> route('id')'? –

回答

6

你應該能夠做這樣的事

$id = Route::current()->getParameter('id'); 
+0

感謝您指出方向。我結束了使用Route :: input('id'),因爲它更短。 –

+0

但將此添加到構造函數中會破壞'artisan route:list'命令! –

0

不使用段 使用區段

public function __construct(Request $request){ 
dd($request->segment(1));} 
0
public function __construct(Request $request) { 
    $id = $request->route('id'); 
    var_dump($id); 
}