Mad_Demus
(Mad Demus)
September 13, 2010, 3:21pm
1
Hallo!
Wie kann ich bei einer MANY_MANY Relation die Sortierung der abhängigen Daten beeinflussen?
Mein Model ‘Page’ hat folgende Relations:
public function relations() {
return array(
'button_template' => array(self::BELONGS_TO, 'ButtonTemplate', 'button_template_id'),
'buttons' => array(self::MANY_MANY, 'CustomButton', 'core_btn_page_relation(page_key,custom_button_key)'),
'buttonCount' => array(self::STAT, 'CustomButton', 'core_btn_page_relation(page_key,custom_button_key)')
);
Es geht hierbei um die ‘buttons’ Relation - die beim Laden des ‘Page’-Models gelieferten ‘Buttons’ sollen nach der Spalte ‘shown_name’ sortiert geliefert werden.
Wie kann ich dies realisieren?
Vielen Dank!
thyseus
(Thyseus)
September 13, 2010, 7:33pm
2
public function relations() {
return array(
'button_template' => array(self::BELONGS_TO, 'ButtonTemplate', 'button_template_id'),
'buttons' => array(self::MANY_MANY, 'CustomButton', 'core_btn_page_relation(page_key,custom_button_key)', array('order' => 'shown_name')),
'buttonCount' => array(self::STAT, 'CustomButton', 'core_btn_page_relation(page_key,custom_button_key)')
);
Mad_Demus
(Mad Demus)
September 14, 2010, 6:36am
3
Danke erstmal, für die Antwort.
Leider erhalte ich folgende Meldung:
CException
Beschreibung
Eigenschaft "CManyManyRelation.0 ist nicht definiert.
Quelldatei
/var/www/yii/framework/db/ar/CActiveRecord.php(1693)
Habe auch bereits versucht, den Tabellennamen bei ‘order’ mit anzugeben bzw. nach anderen Spalten sortieren zu lassen - der Fehler bleibt bestehen.
Was nun?
Mad_Demus
(Mad Demus)
September 14, 2010, 7:52am
4
Ah, hat sich schon erledigt.
Korrekt muss es lauten:
'buttons' => array(self::MANY_MANY, 'CustomButton', 'core_btn_page_relation(page_key,custom_button_key)', 'order' => 'shown_name'),
Vielen Dank nochmal für den Hinweis!