我所谈论的一个例子与谷歌日历类似.创建新的定期任务时.
在创建定期任务"模板"(所有单个任务所基于的模板)之后,您是否创建了所有单个任务并将它们存储在数据库中?或者你只是存储"模板"反复发生的事件和他们的例外?
如果用户请求"月份"视图,并且您想要显示所有事件/任务,则似乎是从模板实时创建输出,并且包括所有异常将比资源更加密集,如果每个单独的重复任务都是从模板创建并插入到数据库中的.
这将使搜索/排序等更容易.
以前有人创造过这样的东西吗?想法?
将其全部存储在数据库中。
您希望有一个“任务模板”表和一个存在一对多关系的“任务”表。
当用户指示他们希望重复执行任务时,创建“任务模板”记录,然后创建用户指示的尽可能多的“任务”(不允许用户创建太远的未来任务)。每个任务都通过外键链接到任务模板。我们的想法是,与尝试在基于一个模板的代码中完成这一切相比,SQL 在管理这些记录方面将更加有效。这样,您在排序和过滤数据时将有更多选择。毕竟,编写 SQL 查询比编写、测试和维护操作数据的 PHP 函数更容易。
我想给你的其他一些建议是: