如何在 Laravel 中实现 30 分钟撤消功能以从数据库中删除行

How to make 30 min undo functionality in Laravel for deleting rows from database

我需要为 crud 表单添加撤消功能。如果有人错误地更新或删除了一些东西,他们怎么能找回他最后的内容。

Laravel 中有恢复功能,我不知道如何使用它来实现此功能。我不知道如何将功能冻结 30 秒,直到某种构造出现。如果有人点击撤消 link 或按钮删除过程应该停止。

我想要一些技巧或代码,以便我可以将功能冻结 30 秒,或者如果某种 Laravel 功能可用于此东西..

  1. 您是否正在使用软删除。如果是这样,恢复将与您要撤消删除的模型上的 withTrashed() 一起使用。

  2. 在执行任何操作之前,您始终可以要求用户确认。

  3. 您也可以使用队列。您将所有此类操作推入队列的位置 table。您可以安排一个从队列中获取数据并执行操作的作业,如果您仍然不想继续执行操作,请在 30 秒之前将其从队列中删除。