現在、会社の Web サイト用のデータベースを設計しています。割引に関する情報 (ロジック) を保持するテーブルを作成して、割引 ID を指定して関数を呼び出すだけで、PHP コードが新しい価格を計算できるようにしたいと考えています。私の質問は、すべての割引には異なるロジックがあるということです。元。10% オフ、$10 オフ、1 つ購入すると 1 つ無料、3 つ購入すると 50% オフ...
コードが独自に割引を計算できるように、これをデータベースに保存するにはどうすればよいですか?
たとえば、次のようなフィールドを含む割引テーブルを作成する必要があります。
または、フィールドに別の名前を付けることもできます。値に応じて、割引の種類とそれを適用する条件を知ることができます。
これは、計算のためだけでなく、実際の Web サイトに表示するために使用される可能性があるため、通常は多層アプローチから開始します。2 つのテーブルから始めます。
Promotion Table
| id | discount_type | qty_products | discount_amount | free_products |
-----------------------------------------------------------------------
| 1 | BOGO | 2 | 0 | 1 |
Sales Promo
| id | promo_id | product_id | activation_date | expiration_date |
------------------------------------------------------------------
| 1 | 1 | 222 | '2012-04-23' | '2012-05-12' |
次に、コードは日付範囲内にあるかどうかを確認し、割引または B1G1/B1G2 を適用します。表は正確ではありませんが、開始点です。