控制器
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的新手。
答案 0 :(得分:1)
您不能以这种方式将其他数据传递给store
。
您可以使用php artisan route:list
命令查看此路线。正如您所看到的,它并不期望也不会传递任何数据。
因此,您需要在隐藏输入中传递ID:
{!! Form::hidden('userId', $user->id) !!}
使用$request->userId
不要忘记从$id
移除store()
$users->id
和Form::open()
此外,Form::open()
的正确语法(使用固定拼写错误)是:
{!! Form::open(['method' => 'post', 'route' => 'user.store']) !!}