Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php App\Http\Controllers\UserController::store()缺少参数2_Php_Laravel_Drop Down Menu_Laravel 5.3 - Fatal编程技术网

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

Php App\Http\Controllers\UserController::store()缺少参数2,php,laravel,drop-down-menu,laravel-5.3,Php,Laravel,Drop Down Menu,Laravel 5.3,控制器 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

控制器

  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() }}
问题

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

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

    redirect('home');
}

正在尝试从车型中的
状态
保存所选值。但是我得到了一个关于参数的错误。有人能告诉我我的错误在哪里吗?我是拉威尔的新手

您不能以这种方式将附加数据传递到
存储
操作

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

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

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

不要忘记从
store()
中删除
$id
,从
Form::open()中删除
$users->id

另外,
Form::open()
的正确语法(带有固定的拼写)是:

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

谢谢你的帮助。但它仍然为App\Http\Controllers\UserController::store()提供了
缺少的参数2
我认为错误在我的controller@Alexey Mezenin
$new->status=$request->input('field')中的某个地方我对这行代码没有信心它返回正确的用户id(即汽车id)谢谢!!已解决传递id的问题。所选值如何,如何在请求中传递其名称?此处也需要使用正确的语法
{!!Form::select('select_list_name'),…
,然后使用
$request->select_list_name
在控制器中获取所选元素。您应该阅读以熟悉
Form:
子句的正确语法。