マルチストアソリューションである必要があるEコマースソリューションを作成しています。製品とその機能の間の関連付けを作成している間、私は真剣に立ち往生しています。マルチストアソリューションであるため、製品ごとに動的な機能の可能性が必要です。Product、FeatureKind、FeatureValueの3つのエンティティを思いつきました。
- FeatureKindには、サイズ、色、スタイルなどの基本的な機能名があります。また、FeatureValueエンティティへのM:M接続もあります。
- FeatureValueには、Small、Medium、Green、Red、Blue、Full- SleevedなどのFeatureKindの値が含まれていることは明らかです。
- 製品エンティティは、M:MアソシエーションでFeatureKindに接続されています。
このタイプの構造でいくつか問題があります。
- サイズが小さい製品がある場合、オプションに中サイズも表示されないはずです。製品の色が緑のみの場合、赤や緑なども表示されないようにする必要があります。
- 次に、小さいサイズの緑と大きいサイズの赤でのみ入手可能な製品がある場合はどうなりますか。それはどのようにうまくいくでしょうか?
構造とアーキテクチャの両方を変更する必要があると確信しています。幸い、プロジェクトはSymfony2にあり、作成する製品バンドルしかありません。
ここにエンティティを投稿できれば幸いですが、私の問題はコードではなく概念です。あなたがそれを見る必要があるならば、ただコメントしてください、そして、私は質問を編集します。