2017-09-26 2 views
-1

Ich habe eine Frage, es ist mehr auf gute Modellierungspraktiken bezogen. Ich mache ein System, das Kategorien HABTM-Produkte (Schuhe) haben wird und diese Produkte werden ihre Attribute (Farbe, Größen, Produktfotos) haben, aber die Größe und Fotos des Produkts werden mit Farbe zusammenhängen. Zum Beispiel: Ich habe einen schwarzen Schuh und in dieser Farbe gibt es Größen: 24, 25 und 28 und die Fotos des schwarzen Stiefels. Ich habe einen braunen Stiefel und in dieser Farbe gibt es die Größen: 21, 23 und 24 und die Fotos des braunen Stiefels.Der beste Weg, um eine Produkttabelle mit den Attributen, Farbe, Größen und Fotos zu erstellen (wie E-Commerce)

Ich dachte an die Größen und die Fotos, die HABTM der Farbe sind, aber das würde mir ein Problem verursachen, als ich die Auswahl der Produkte machte, würde es die dritte Ebene nicht bringen.

Ich benutze CakePHP 2.x

+0

Bitte klar, was genau Sie fragen. – pucky124

+0

Hallo, wie geht es dir? Was ich will ist, den besten Weg zu wissen, eine Tabelle von Produkten zu schaffen, wo es Abhängigkeiten gibt (Schuhfarbentabelle, Größentabelle und Fotogalerie), aber abhängig von der Farbe werden verschiedene Zahlen und verschiedene Fotos verfügbar sein. Ich weiß nicht, ob ich eine Tabelle von Produkten und eine andere Tabelle mit allgemeinen Attributen erstellen, oder wenn ich eine Tabelle Produkte mit hattm Farben erstellen und dies ja die übergeordnete Tabelle der Fotos Tabellen und Nummerierung ist. – Goof

Antwort

0

Ich glaube, Sie könnten eine HABTM Beziehung zwischen Farben und Größen aufgebaut. Sie könnten eine Join-Tabelle erstellen, die wie folgt aussehen würde:

id | color_id | size_id 

würden Sie dann eine colors Tabelle und eine sizes Tisch.

Ich glaube nicht, dass Sie eine HABTM-Beziehung zwischen colors und photos benötigen. Ich denke, Sie können einfach eine hasMany Beziehung verwenden, weil jedes Foto für eine Farbe einzigartig ist. Ihre photos Tabelle hätte nur eine Fremdschlüsselspalte, die auf die Tabelle colors zeigt.

id | color_id 
+0

Danke Rechnung! Du hast meinen Kopf geöffnet. Ich werde es versuchen. Ich habe nur Zweifel, diese Daten in der Datenbank zu finden, wenn ich nach einem Produkt suche, weil die Größen mit den Farben und nicht direkt mit dem Produkt zusammenhängen. – Goof

Verwandte Themen