调用更新方法时,我的资源路径出现问题。
我收到此错误:
Creating default object from empty value
控制器:
public function update($id)
{
$input = Input::all();
$validation = Validator::make($input, Vehicle::$rules, Vehicle::$messages);
if ($validation->passes())
{
$this->vehicle->update($id, $input);
return Redirect::route('admin.vehicles.index')->with('success', 'Car Updated');
}
return Redirect::back()
->withInput()
->withErrors($validation);
}
存储库:
public function update($id, $input)
{
$vehicle = Vehicle::find($id);
$vehicle->VRM = $input['VRM'];
$vehicle->make = $input['make'];
$vehicle->model = $input['model'];
$vehicle->description = $input['description'];
$vehicle->save();
}
路线:
Route::resource('/admin/vehicles', 'VehiclesController');
如果我打印ID,则会显示{vehicle}。
我的表格是:
{{ Form::open(['route' => 'admin.vehicles.update', 'class' => 'form-horizontal edit-vehicle-form', 'method' => 'PATCH']) }}
// input fields etc
{{ Form::close() }}
我认为表格可能有问题吗?因为抛出错误时URL是:
http://localhost/admin/vehicles/%7Bvehicles%7D
在使用CRUD应用程序的资源路由之前从未遇到任何问题,并且无法查看出错的地方?
答案 0 :(得分:2)
您需要更新路线中的ID ...
{{ Form::open(['route' => array('admin.vehicles.update', $vehicle->id), 'class' => 'form-horizontal edit-vehicle-form', 'method' => 'PATCH']) }}