我在Device
和Command
模型之间有一对多关系(每个Device
有许多命令
) 。现在我想使用 save()
方法更新命令集合。因此,我使用了以下代码:
$device = Device::find(1);
$commands = $device->commands()->whereStatus("pending")->get();
$commands->status = "sent";
$commands->save();
但是我遇到了 FatalErrorException
异常,并显示错误消息 Call to undefined method Illuminate\Database\Eloquent\Collection::save()
。
换句话说,我正在Eloquent
中寻找与以下内容等效的MySQL查询:
UPDATE commands SET status = 'sent' WHERE status = 'pending';
使用 Laravel 4.2
最佳答案
您可以在 \Illuminate\Database\Eloquent\Builder
对象上尝试 update
方法:
$queryBuilder = $device->commands()->whereStatus("pending");
$queryBuilder->update(array("status" => "sent"));
关于laravel - 如何使用 Eloquent Laravel 更新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25597266/