大规模更新中的表在Laravel中有许多关系

大规模更新中的表在Laravel中有许多关系,laravel,laravel-5,laravel-5.4,Laravel,Laravel 5,Laravel 5.4,我在频道和视频表之间有一个一对多关系。两个表都有可见性字段。更新频道的可见性时,我希望使用频道的可见性值更新属于该频道的所有视频的可见性 如何在Laravel 5.4中实现此批量更新功能?您可以收听该模型上的“更新”事件。检查“可见性”字段是否已更改,如果已更改,则立即运行查询以更新所有相关记录 $channel->videos()->update(['visibility' => true]); 一种可能性。这不会为那些视频模型触发任何事件,因为它实际上没有检索它们,只是直

我在频道和视频表之间有一个
一对多关系
。两个表都有
可见性
字段。更新频道的可见性时,我希望使用频道的可见性值更新属于该频道的所有视频的可见性


如何在Laravel 5.4中实现此批量更新功能?

您可以收听该模型上的“更新”事件。检查“可见性”字段是否已更改,如果已更改,则立即运行查询以更新所有相关记录

$channel->videos()->update(['visibility' => true]);

一种可能性。这不会为那些
视频
模型触发任何事件,因为它实际上没有检索它们,只是直接在数据库上触发更新。

您可以侦听该模型上的“更新”事件。检查“可见性”字段是否已更改,如果已更改,则立即运行查询以更新所有相关记录

$channel->videos()->update(['visibility' => true]);

一种可能性。这不会为那些
视频
模型触发任何事件,因为它实际上并没有检索它们,它只是直接在数据库上触发更新。

尝试了这一点,效果非常好

$channel->videos()->update([
    'visibility' => $channel->visibility,
]);

试过这个,效果很好

$channel->videos()->update([
    'visibility' => $channel->visibility,
]);