Zuerst muss die Join-Tabelle, die Modellnamen in alphabetischer Reihenfolge haben, für CakePHP sie automatisch zu erkennen:
dresses_categories /* incorrect */
categories_dresses /* correct */
Jetzt für das Problem auf der Hand: Wenn ich Ihre Frage richtig verstanden hat, sind Sie versuchen, Erstellen Sie eine HABTM-Zuordnung zwischen einem -Modell und der Join-Tabelle, die für eine andere HABTM-Beziehung verwendet wird? Das ist nicht möglich. (oder wenn es so ist, wird es ein Kuchen-Hack-a-Thon sein).
Denken Sie zuerst an Beziehungen, die sich auf Datenbanktabellen beziehen. Beziehungen werden zwischen CakePHP-Modellen definiert und die Tabellen steuern sie. Was Sie brauchen, um zu tun, um diese Aufgabe zu erfüllen ist vier Modelle machen:
Dress
Category
DressCategory
Color
Beziehungen definieren wie folgt:
Dress -> hasMany -> DressCategory
Category -> hasMany -> DressCategory
DressCategory -> belongsTo -> Category, Dress
DressCategory -> HABTM -> Color
Color -> HABTM -> DressCategory
Und fünf Tabellen mit den entsprechenden Fremdschlüssel:
dresses
-------
id
categories
----------
id
dress_categories
----------------
id
dress_id
category_id
colors
------
id
colors_dress_categories
-----------------------
id
color_id
dress_category_id
Danke Stephen. Ich weiß, dass ich nah war. – josoroma
Kein Problem! Froh, dass ich helfen konnte. – Stephen