我无法弄清楚在laravel中更新模型然后将其保存到数据库中的正确方法。
我正在使用Laravel 4.我正在从EmberJS发布一个json有效载荷。
这是我的RESTful控制器的更新代码:
public function update($id)
{
$data = Input::json()->all();
$user = Users::find($id);
$user->fill($data['user']);
$user->save();
return json_encode(array('user' => $user->toArray()));
}
我需要它来解析JSON有效负载,更新模型上的属性,然后将这些属性保存到数据库中。
答案 0 :(得分:1)
应该归功于gadoma以获得正确的答案。我把它放在这里以记录解决了我的特定问题的原因。
我没有在我的模型中通过定义模型中的“可填充”属性来定义允许“批量分配”的内容。
像这样:
protected $fillable = array();
该数组应包含模型中允许由批量赋值操作填充的属性的名称,如“fill”。
答案 1 :(得分:0)
尝试将$ data ['user']类型转换为数组。
$user->fill((array)$data['user']);