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:
子句的正确语法。