从Laravel中的JSON帖子批量更新模型值

时间:2013-09-11 04:33:27

标签: laravel laravel-4 eloquent

我无法弄清楚在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有效负载,更新模型上的属性,然后将这些属性保存到数据库中。

2 个答案:

答案 0 :(得分:1)

应该归功于gadoma以获得正确的答案。我把它放在这里以记录解决了我的特定问题的原因。

我没有在我的模型中通过定义模型中的“可填充”属性来定义允许“批量分配”的内容。

像这样:

protected $fillable = array();

该数组应包含模型中允许由批量赋值操作填充的属性的名称,如“fill”。

答案 1 :(得分:0)

尝试将$ data ['user']类型转换为数组。

$user->fill((array)$data['user']);