这是一个内部应用程序,在这种情况下批量分配安全不是问题。
我正在处理非常大(众多)的表单字段,因此大量分配用户编辑会很棒。批量分配似乎适用于“create()”,但不适用于查找和保存。
这就是我所拥有的:
$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->save($post_data);
我该怎么做?我宁愿不指定几十个表单输入。
你应该可以使用fill(array $attributes)
...
$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->fill($post_data);
$formobj->save();
在大规模更新的情况下,它可以写得更短。
$post_data = Input::all();
HugeForm::find($id)->update($post_data);
要允许在 Laravel 中进行批量分配,您需要添加:
protected $guarded = array();
进入你的模型。基本上这告诉 laravel 不要保护任何字段,你也可以使用:
protected $fillable = array();
然后设置您想要填写的字段。
希望这可以帮助
这对我来说只有 1 行(Laravel 8):
#ModelName::find($id)->update($request->all());