我有一张表格:
{ Form::open(array('action' => 'RatesController@postUserRate', $client->id)) }}
{{ Form::text('rate', '', array('placeholder' => 'Enter new custom client rate...')) }}
{{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
如何通过表单将$ client-> id值传递给我的控制器方法?
我目前有一个控制器方法,如下所示:
public function postUserRate($id)
{
$currentUser = User::find(Sentry::getUser()->id);
$userRate = DB::table('users_rates')->where('user_id', $currentUser->id)->where('client_id', $id)->pluck('rate');
if(is_null($userRate))
{
...
}else{
....
}
}
错误日志显示“对于RatesController :: postUserRate()缺少参数1”
关于如何将此$ client-> id传递给我的控制器的任何想法,以便我可以按照我的意愿使用它?
答案 0 :(得分:17)
将{{ Form::hidden('id', $client->id) }}
添加到表单中。然后,当它发布时,您可以使用Input::get('id')
按平常获取其值。
另外,删除postUserRate
方法的参数。
答案 1 :(得分:3)
您只需使用:
Form::open(array('action' => array('Controller@method', $user->id)))
$user->id
作为参数传递给方法method
,最后一个也应该接收一个参数,如下所示:method($userId)
资料来源:Laravel documentation