如何:在Laravel 4中大规模分配更新?

时间:2013-06-12 22:03:57

标签: laravel laravel-4

这是一个内部应用程序,在这种情况下,质量分配安全性不是问题。

我正在处理非常大(多个)的表单字段,因此批量分配用户编辑会很棒。使用'create()'进行质量分配似乎可以正常工作,但不能使用find&保存。

这就是我所拥有的:

$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->save($post_data);

我该如何解决?我宁愿不指定许多表单输入。

4 个答案:

答案 0 :(得分:49)

您应该可以使用fill(array $attributes) ...

$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->fill($post_data);
$formobj->save();

答案 1 :(得分:20)

如果进行大规模更新,可以写得更短。

$post_data = Input::all();
HugeForm::find($id)->update($post_data);

答案 2 :(得分:1)

要在Laravel中进行质量分配,您需要添加:

protected $guarded = array();

进入你的模特。基本上这告诉laravel不保护任何字段,你也可以使用:

protected $fillable = array();

然后设置您想要填写的字段。

希望这有帮助

答案 3 :(得分:0)

这仅对我有用(Laravel 8):

#ModelName :: find($ id)-> update($ request-> all());