我有一个电子商务网站(基于 magento2),其中的产品需要在特定日期之间提供。我已将特定的开始和结束日期保存在 mysql 数据库中,但现在需要在到达时间时触发产品的启用/禁用。如何在两者之间建立实时链接,而不设置每秒运行一次以编辑状态的 cron 作业?
最佳答案
对于 MySQL 问题,“我每秒都需要一个 CRON”意味着您实际上需要一个 VIEW
(或者对于最严重的情况,最终需要一个 TRIGGER
)。
假设您有 product.startDate
和 product.endDate
列,以及 product.isEnabled
。
然后创建以下VIEW
:
CREATE VIEW `productView` AS SELECT
startDate AS startDate,
endDate AS endDate,
(isEnabled AND NOW() BETWEEN startDate AND endDate) AS isEnabled
FROM product
并在代码中使用此VIEW
(SELECT p.isEnaled FROM ProductView
)。如果您无法使用代码更新 PHP,只需重命名表(对于 productTable
)并使用 product
作为 View 的名称。
关于php - 如何根据 SQL 数据库中的日期触发 PHP 服务器中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39900945/