更新查询在laravel 4.2中显示错误

时间:2015-03-05 12:00:26

标签: laravel laravel-4

在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');
    }
}

1 个答案:

答案 0 :(得分:0)

  1. $editid=$data;
  2. 这里你有一个错误,不幸的是你没有给它id但传递整个数组。您需要从$ data数组或对象传递id。

    `$editid=$data->id; or $editid=$data['id'];`
    
    1. 如果$dataid,请确认检查您的型号名称这可能是首字母大写。

    2. 删除where子句where('LId', $editid)->将id合并到

    3. $updatedata数组。

      这样你可以做到

      $locationmodel = locationModel::find($editid);
      
      $locationmodel ->fill($updatedata);
      
      $locationmodel->update(); or $locationmodel->save();