App \ Http \ Controllers \ UserController :: store()缺少参数2

时间:2016-12-11 10:36:52

标签: php laravel drop-down-menu laravel-5.3

控制器

int a[][] = new int[4][];
a[0] = new int [10];
a[1] = new int [7];
a[2] = new int [11];
a[3] = new int [30];

查看

  public function store( Request $request,$id)
{
    $new = Car::find($id);

    $new->status = $request ->input('field');
    $new->save();

    redirect('home');
}

路线

@foreach($users as $user)
              @foreach($user->cars as $users)
               {!! Form::open( ['route' => 'user.store', 'method'=>'post','id'=> '$users->id']) !!}
              <th scope="row">1</th>
              <td>{!! Form::label($cars->name)!!}<td>
              <td>{!! Form::label($cars->age)!!}<td>
              <td>{{Form::select($cars->status, ['R' => 'Requested', 'C' => 'Coming', ['name' => 'field']])}} // name is worong but I dont know the alternative 
              <td>{!! Form::submit('Update Profile', ['class' => 'btn btn-primary']) !!}</td>
              {{ Form::close() }}

问题

尝试在Car model中保存 Route::Resource('user', 'UserController'); 中的选定值。但我得到一个关于参数的错误。有人能告诉我我的错误在哪里吗?我是Laravel的新手。

1 个答案:

答案 0 :(得分:1)

您不能以这种方式将其他数据传递给store

您可以使用php artisan route:list命令查看此路线。正如您所看到的,它并不期望也不会传递任何数据。

因此,您需要在隐藏输入中传递ID:

{!! Form::hidden('userId', $user->id) !!}

使用$request->userId

获取控制器中的数据

不要忘记从$id移除store() $users->idForm::open()

此外,Form::open()的正确语法(使用固定拼写错误)是:

{!! Form::open(['method' => 'post', 'route' => 'user.store']) !!}