2

我有一个表格:

{ 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 传递给我的控制器的任何想法,以便我可以按照我想要的方式使用它?

4

2 回答 2

17

添加{{ Form::hidden('id', $client->id) }}到表格中。然后,当它发布时,您可以按照通常使用Input::get('id').

此外,删除postUserRate方法的参数。

于 2013-07-27T08:16:11.950 回答
3

您只需使用:

Form::open(array('action' => array('Controller@method', $user->id)))

  • 变量$user->id作为参数传递给方法method,最后一个也应该接收一个参数,如下所示: method($userId)

来源:Laravel文档

于 2015-01-31T02:48:52.827 回答