在 Laravel 中批量更新具有多关系的表

Pri*_*hra 1 laravel laravel-5 laravel-5.4

我有一个One to Many relationshipChannel 和 Video 之间的表。两个表都有visibility字段。当我更新频道的可见性时,我想使用频道的可见性值更新属于该频道的所有视频的可见性。

如何在 Laravel 5.4 中实现这种大规模更新功能?

lag*_*box 5

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

$channel->videos()->update(['visibility' => true]);
Run Code Online (Sandbox Code Playgroud)

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