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

man*_*hts 28 laravel laravel-4

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

我正在处理非常大(多个)的表单字段,因此批量分配用户编辑将是很好的.使用'create()'进行批量分配似乎可以正常工作,但不能进行查找和保存.

这就是我所拥有的:

$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->save($post_data);
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?我宁愿不指定许多表单输入.

Phi*_*rks 49

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

$post_data = Input::all();
$formobj = HugeForm::find($id);
$formobj->fill($post_data);
$formobj->save();
Run Code Online (Sandbox Code Playgroud)


che*_*him 20

在大规模更新的情况下,它可以写得更短.

$post_data = Input::all();
HugeForm::find($id)->update($post_data);
Run Code Online (Sandbox Code Playgroud)

  • `update` 不会创建新记录,而 `save` 方法将创建一个新行,如果它不存在并更新现有的。 (2认同)
  • 我认为update()的主要目的是更新现有行... (2认同)