这是一个内部应用程序,大规模赋值安全在这种情况下不是问题。
我正在处理非常大(众多)的表单字段,因此大规模赋值用户编辑将是很好的选择。使用“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);
update
方法不会创建新记录,而 save
方法会在不存在时创建新行并更新现有行。 - Wistarprotected $guarded = array();
将其添加到您的模型中。基本上,这告诉laravel不保护任何字段,您也可以使用:
protected $fillable = array();
然后设置您想要填写的字段。
希望这能帮到您。