【发布时间】:2021-02-15 23:23:37
【问题描述】:
我有一个 Laravel Nova 后端,我希望用户能够通过过滤器选择删除大量记录。这些记录也与其他模型有一些关系,需要清理。 例如,管理员可能想要删除所有没有任何角色的用户,并将他们从他们所在的组中分离出来,并删除他们发布的所有帖子。这可能是大约 25000 个用户。
在我看来,由于过滤器的选择,Nova 正在逐行处理此请求,最终导致服务器超时。 我想向数据库发送查询以删除所有 id 在过滤器选择中的用户。 MySQL 将通过级联处理关系的删除。这比 Nova 的逐行处理要快得多。
但我不知道如何覆盖 Nova 对删除请求的处理。我设法得到的最接近的方法是利用模型的删除事件,但到那时 Nova 已经在逐行处理请求。 我如何为这个请求连接我自己的控制器?
【问题讨论】:
标签: laravel laravel-nova