在给定时间后自动编辑MySQL数据
我们有一个以草稿模式存储的表单。这意味着可以编辑任何数据或删除整个表单。从开始到结束的过程如下在给定时间后自动编辑MySQL数据,mysql,laravel,Mysql,Laravel,我们有一个以草稿模式存储的表单。这意味着可以编辑任何数据或删除整个表单。从开始到结束的过程如下 当一个人第一次尝试提交表单时,该表单存储在草稿中。(isDraft列设置为0) 用户将被重定向到另一个页面,在那里他/她可以查看表单id(生成的编号)、名称、一些其他详细信息以及编辑/删除选项 用户可以单击“编辑”按钮编辑任何内容,甚至删除表单 但是,在给定日期之前(例如,从首次提交日期算起的15天),这是允许的。一旦该日期过去,就不能再编辑或删除该表单。如果表单未被删除,isDraft列设置
- 当一个人第一次尝试提交表单时,该表单存储在草稿中。(isDraft列设置为0)
- 用户将被重定向到另一个页面,在那里他/她可以查看表单id(生成的编号)、名称、一些其他详细信息以及编辑/删除选项
- 用户可以单击“编辑”按钮编辑任何内容,甚至删除表单
- 但是,在给定日期之前(例如,从首次提交日期算起的15天),这是允许的。一旦该日期过去,就不能再编辑或删除该表单。如果表单未被删除,isDraft列设置为1
如果没有具体的答案,而只是讨论,我会删除这篇文章。我不确定我是否理解正确,但我想你喜欢在时间戳自动更新更新的_。您可以通过创建一个命令并对其调用save方法来运行雄辩的模型 $model->save()将表单创建为草稿时,只需存储日期(时间组件取决于检查15天间隔时的准确度)
当用户想要编辑它(显示编辑表单)或保存编辑时,将当前日期(和时间)与存储的创建日期+15天进行比较。如果当前日期小于创建日期+15天,则允许显示编辑表单或保存表单,否则会显示错误消息。laravel调度和服务器cron作业的组合可以轻松处理您手头的问题。我有一个在线作业门户,它利用了Laravel调度和Cpanel Cron作业,在每晚午夜删除所有过时的作业。以下是laravel调度的文档:@AhmadKarimi如果我要自动调用控制器操作怎么办?通过调度,您可以发出laravel命令来实际调用控制器函数来为您完成任务。@AhmadKarimi好的。请考虑把它作为我的参考答案。Asish,事实上,我建议这个方法,因为它不会使你的逻辑复杂化。只是为了增加@Shadow的建议,当用户试图更新帖子时,首先检查collumn isDraft是否设置为1,以防止用户编辑它。如果isDraft仍然为0,则检查日期是否超过15天,然后返回给用户一个通知,并立即将帖子的列isDraft更改为1。我甚至可以让方法控制器以这种方式处理,但我相信您可以处理它。@AhmadKarimi根本不需要isDraft列,创建日期+15天是相同的,根据描述。这样你的工作就容易多了。