1

私は次のシナリオのために可能な限り最良の設計を準備しようとしています。

カテゴリ->製品リスト->製品詳細

そのため、商品の詳細画面で、ユーザーは商品をカートに追加するオプションがあります。したがって、ユーザーがカートを開くと、カートコントローラーの下にすべての製品が表示されます。また、ユーザーはカートから商品の詳細画面を再び見ることができます。

私の質問は、カートデータベースをどのように準備できるかということです。個別のカートエンティティを維持することが最善の解決策ですか?または、製品エンティティ自体に1つのブール値を含めることができます。しかし、BOOLを維持することは、最善の解決策ではないと思います。たとえば、10,000個の商品がある場合、カートアイテムのみを取得するには、商品全体をトラバースする必要があります。

個別のCartエンティティを維持し、その中にproduct_idを保存するのが最善だと思います。では、カート&プロダクトとの関係を教えてください。カートは独立できないので、私は推測しますか?

4

1 に答える 1

2

おそらく、Cart から Product への多対多の関係が必要です。おそらく「コンテンツ」か何かと呼ばれますか?

ユーザーが一度に 1 つのカートしか持っていない場合は、Product でブール値を使用することもできます。そのブール値を「インデックス付き」としてマークすると、すべての製品を YES に設定して取得するのにそれほどコストがかかりません。(SQLite バックエンドを使用している場合。)

于 2012-12-14T12:52:30.683 に答える