2016-10-06 8 views
0

特定の日付の間に利用可能な製品がある電子商取引サイト(magento2ベース)があります。特定の開始日と終了日をmysql dbに保存しましたが、時間が経過したときに製品の有効化/無効化をトリガする必要があります。ステータスを編集するために毎秒実行されるcronジョブを設定せずに、2人の間でライブリンクを確立するにはどうすればよいですか?SQLデータベース内の日付からPHPサーバの変更をトリガーする方法

+0

なぜ製品のレコードに日付を入れて検索を修正して、アクティブな製品のみを表示するのはなぜですか – RiggsFolly

答えて

1

MySQLの問題のために「毎秒CRONが必要」というのは実際にはVIEW(または最終的には最も重いケースの場合はTRIGGER)が必要であることを意味します。

と一緒にproduct.startDateproduct.endDateの列があるとします。

CREATE VIEW `productView` AS SELECT 
    startDate AS startDate, 
    endDate AS endDate, 
    (isEnabled AND NOW() BETWEEN startDate AND endDate) AS isEnabled 
FROM product 

をそして、あなたのコード(SELECT p.isEnaled FROM productView)でこのVIEWを使用します。 は、その後、次のVIEWを作成します。コードを使用してPHPを更新できない場合は、表の名前(productTable)の名​​前を変更し、ビューの名前としてproductを使用してください。

関連する問題