Tout d'abord, la table de jointure doit avoir les noms de modèle dans l'ordre alphabétique pour CakePHP les reconnaître automagiquement:
dresses_categories /* incorrect */
categories_dresses /* correct */
Maintenant pour le problème à portée de main: Si je comprends bien votre question, vous essayez de créer une association HABTM entre un modèle Color
et la table de jointure utilisée pour une relation HABTM différente? Ce n'est pas possible. (ou si c'est le cas, ce sera un gâteau-hack-a-thon). Tout d'abord, cessez de penser aux relations en relation avec les tables de base de données. Les relations sont définies entre les modèles CakePHP et les tables les pilotent. Ce que vous devez faire pour accomplir cette tâche est faire quatre modèles:
Dress
Category
DressCategory
Color
définissent les relations comme si:
Dress -> hasMany -> DressCategory
Category -> hasMany -> DressCategory
DressCategory -> belongsTo -> Category, Dress
DressCategory -> HABTM -> Color
Color -> HABTM -> DressCategory
Et cinq tables avec les clés étrangères appropriées:
dresses
-------
id
categories
----------
id
dress_categories
----------------
id
dress_id
category_id
colors
------
id
colors_dress_categories
-----------------------
id
color_id
dress_category_id
Merci Stephen. Je sais que j'étais proche. – josoroma
Pas de problème! Heureux d'avoir pu aider. – Stephen