【发布时间】:2020-09-02 11:45:12
【问题描述】:
我刚刚发现,当我使用 sync() 方法从多表更新数据透视表时,它正在执行多个查询。
在我的情况下,我只是尝试更新所有相关数据透视表记录的相同属性。 这是我的脚本:
foreach ($serials as $serial) {
$newSerials[$serial['id']] = ['warehouse_id' => 1];
}
$record->serials()->sync($newSerials)
是否有任何其他解决方案可以在 laravel 中使用 Eloquent 方式仅在一次查询中更新数据透视表?
我很确定 Query Builder 可以处理这个问题,但我需要知道的是 Eloquent 方式,它可能可以与 sync() 方法结合使用,因为我已经在大多数类似的情况下实现了 sync()在我的项目中。
【问题讨论】:
标签: php laravel eloquent laravel-6 laravel-7