Php 如何将URL参数传递给控制器';s动作
我有以下路线:Php 如何将URL参数传递给控制器';s动作,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有以下路线: Route::get('reviewers/{id}', 'ReviewerController@single'); 并在我的控制器上执行以下操作: public function single(){ $id = Input::get('id'); return View::make('reviewer.single') ->with('id', $id);} public function single($id){ return View::make('rev
Route::get('reviewers/{id}', 'ReviewerController@single');
并在我的控制器上执行以下操作:
public function single(){
$id = Input::get('id');
return View::make('reviewer.single')
->with('id', $id);}
public function single($id){
return View::make('reviewer.single')
->with('id', $id);
}
在我的单一视图中,我转储了$id的值,它为NULL。虽然我在url中提供了一个id(例如,reviewers/1),为什么$id为空 改用这个:
public function single($id)
{
$id = (int)$id; // if you haven't already ensured it's integer with Route::pattern() method
return View::make('reviewer.single')->with('id', $id);
}
要使用路由通配符并传递数据,控制器方法必须具有必要的参数。在这种情况下不使用输入外观。当您生成url时,您会像reviewers/2一样生成它。Laravel有几种方法可以生成指向路由的URL,例如指向命名路由或:
//route to controller action
$url = action('ReviewerController@single', $id);
在控制器中:
public function single(){
$id = Input::get('id');
return View::make('reviewer.single')
->with('id', $id);}
public function single($id){
return View::make('reviewer.single')
->with('id', $id);
}