ショッピング バスケット クラスを作成していますが、色、サイズなどの未設定のオプションを製品に持たせたいと考えています。
オプション データを格納するために複数のテーブルを使用する必要があることはわかっていますが、その方法がわかりません。これまでのテーブル構造は次のとおりです。
CREATE TABLE IF NOT EXISTS options (
ID varchar(40) PRIMARY KEY,
Option int,
Value varchar(100),
Cost decimal(10,2)
);
CREATE TABLE IF NOT EXISTS products (
ID int PRIMARY KEY AUTO_INCREMENT,
Title varchar(200),
Description text,
Specification text,
Price decimal(10,2),
CategoryID int,
Weight int,
OptionID int,
Discount int(2),
Featured boolean,
Images text,
Stock int,
Related text,
Offer boolean,
OfferDetails text,
Language int
);
CREATE TABLE IF NOT EXISTS basket (
`ID` int(11) PRIMARY KEY AUTO_INCREMENT,
`ProductID` int(11),
`Quantity` int(11),
`OptionID` int(11),
`Cookie` varchar(40)
);
すべてのオプションをオプション テーブルに保存し、それらを 1 つの一意の ID で製品にリンクしたいと考えています。
ユーザーがオプションを選択したときに情報を保存するために別のテーブルが必要だと思います。次に、このテーブルを使用して選択オプション データを取得し、バスケットに出力します
また、同じ製品、つまり同じオプションと productID が既にバスケットにあるかどうかを確認できる必要があるため、新しい行を追加する代わりに数量を簡単に更新できます。
大量の for ループとクエリを使用してそれを行うことができますが、実際にはそれを制限したいと考えています。
不明な場合は申し訳ありません。
前もって感謝します