von mivogtLU am Mi 17. Feb 2010, 09:00
Moin Leute,
ich habe ein Antwort zu dem Problem bekommen die ich hier gerne poste:
*-*-*-*-*
Ich habe in meinem Fall zwei Tabellen
Colors: id, Farbname
Mixtures: id, color1_id, color2_id, color3_id, ...
*-*-*-*-*-
okey, dann ist das mit den 3 spalten schon ok. dann brauchst ja nur im
model mixtures 3 belongsTo definieren.
also in etwa so:
var $belongsTo = array(
'Color1' => array('className' => 'Color', foreignKey' => 'color_id'),
'Color2' => array('className' => 'Color', foreignKey' => 'color2_id'),
'Color3' => array('className' => 'Color', foreignKey' => 'color3_id'),
);
und eben die tabellen wie du oben schon geschrieben hattest (nur etwas
an die namenskonventionen angepasst):
colors:
id int unsigned auto_increment,
name varchar 255,
modified datetime,
created datetime
mixtures:
id int unsigned auto_increment,
color_id int unsigned,
color2_id int unsigned,
color2_id int unsigned,
modified datetime,
created datetime
*-*-*-*-
evtl. noch erwähnenwert:
cake bake meckert dann irgendwann (Controller?) darüber dass keine Tabelle für color1..color3 gefunden wird.
Man kann dann entweder manuell Angaben machen im Dialog von bake (cake1.3ß) oder aber man passt im Modell das man erzeugt hat schnell den Class Eintrag an (statt color1 eben color)
Gruß
Michael