在laravel 4.2版本中使用更新控制器时,它会显示错误页面而不会更新行
public function updatelocation($data=NULL)
{
$GeneralData = array_filter(Input::except(array('_token')));
$validation = Validator::make($GeneralData, locationModel::$rules);
if ($validation->passes())
{
$updatedata=array_filter($GeneralData);
$editid=$data;
//return ($data);
$affectedRows = locationModel::where('LId', $editid)->update($updatedata);
return Redirect::to('locations')->with('Message', 'Location Details Updated Succesfully');
} else
{
return Redirect::to('editlocation/'.$data)->withInput()->with('Message', 'Some Location Details are missing');
}
}
答案 0 :(得分:0)
$editid=$data;
这里你有一个错误,不幸的是你没有给它id但传递整个数组。您需要从$ data数组或对象传递id。
`$editid=$data->id; or $editid=$data['id'];`
如果$data
为id
,请确认检查您的型号名称这可能是首字母大写。
删除where子句where('LId', $editid)->
将id合并到
$updatedata
数组。
这样你可以做到
$locationmodel = locationModel::find($editid);
$locationmodel ->fill($updatedata);
$locationmodel->update(); or $locationmodel->save();