Empfehlungen: Erweiterte Suche

Anfängerfrage [erledigt]

Daten auslesen, verarbeiten und den Views übergeben

Anfängerfrage [erledigt]

Beitragvon UliJahn » Di 6. Dez 2011, 10:13

Hallo,
ich arbeite erst seit sehr kurzer Zeit mit Cake und habe eine Frage:
Ich habe zwei Tabellen (articles, authors), die via Console als articles=belongsTo und authors=hasMany über den Nachnamen des Autors miteinander 'verbacken' wurden. Klappt alles prima, die ID des Autors wird in articles unter author_id gespeichert. Nun möchte ich aber bei Eingabe eines neuen Artikels im Autoren-Auswahlmenü statt nur des Nachnamens auch dessen Vornamen sehen. Derzeit steht im Controller nur '$authors = $this->Article->Author->find('list', array('order'=>'family_name ASC'));'. Wie macht man das?
Hinzugefügt: CakePHP-Version 1.3
Liebe Grüße
Uli
Zuletzt geändert von UliJahn am Di 13. Dez 2011, 12:16, insgesamt 2-mal geändert.
UliJahn
 
Beiträge: 3
Registriert: Do 24. Nov 2011, 15:21

Re: Anfängerfrage

Beitragvon euromark » Di 6. Dez 2011, 13:35

willkommen! :)

du solltest dir angewöhnen, zu dem post immer die cakephp version mit anzugeben die du benutzt
mit großer wahrscheinlichkeit kannst du virtual fields benutzen:
http://book.cakephp.org/view/1608/Virtual-fields
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Anfängerfrage

Beitragvon UliJahn » Mi 7. Dez 2011, 10:45

O.k., ich habe jetzt dem Model eine Variable $virtualFields hinzugefügt und diese lt. Kochbuch definiert:
Code: Alles auswählen
    var $virtualFields = array(
    'name' => "CONCAT(User.first_name, ' ', User.last_name)"
    );

Mein Problem ist jetzt: Wo benutze ich diese Variable $name? Ich möchte ja mein add-View erweitern. Dort finde ich jedoch nur den Form-Helper $this->Form->input('author_id'). Der 'weiss' zwar aus dem Model durch 'var $displayField = 'family_name', dass es um die Zelle 'author_id' geht, dass die Inhalte aus der Tabelle 'authors' stammen müssen und dass das entsprechende Feld, welches im Select-Form benutzt werden soll, der Inhalt der Spalte 'family_name' sein soll. Alles prima. Aber wie bringe ich dem Form-Helper nun bei, mehr als den Nachnamen zu zeigen?
Bin verzweifelt ...
UliJahn
 
Beiträge: 3
Registriert: Do 24. Nov 2011, 15:21

Re: Anfängerfrage

Beitragvon euromark » Mi 7. Dez 2011, 11:16

indem du das displayField entweder global auf
var $displayField = 'name'
setzt
oder beim find() statement die fields einschränkst auf ('id', 'name')

PS: ich würde aber "full_name" benutzen (da title und name automagic sind)
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows


Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron