这是一个内部应用程序,在这种情况下,质量分配安全性不是问题。
我正在处理非常大(多个)的表单字段,因此批量分配用户编辑会很棒。使用'create()'进行质量分配似乎可以正常工作,但不能使用find&保存。
这就是我所拥有的:
$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->save($post_data);
我该如何解决?我宁愿不指定许多表单输入。
答案 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());