2010-12-15 10 views
1

ich in meinem Modell definiert haben zwei durch eine Eins-zu-Eins-Beziehung verknüpft Einheiten:Symfony Admin-Generator - One-to-One-Beziehungen

User: 
    columns: 
    home_address_id: integer 
    relations: 
    HomeAddress: 
     class: Address 
     local: home_address_id 
     foreignType: one 

Address: 
    columns: 
    zip: string 
    city: string 

Wenn ich den Generator benutzen, enthält meine Form alle Bereiche der das Benutzerobjekt, einschließlich einer Dropdown-Liste, um eine Adresse auszuwählen.

Was ich möchte, ist in der Lage, direkt die Postleitzahl und die Stadt der Heimatadresse des Benutzers eingeben. Wie kann ich dies in der generator.yml Datei anfordern? Muss ich etwas Code implementieren, um es selbst zu tun oder gibt es eine Möglichkeit, es automatisch zu machen?

+0

Ich sehe das Schulobjekt in Ihrem Beispiel nicht, aber ich frage mich auch, was ist der Sinn einer Eins-zu-Eins-Beziehung? Warum legen Sie die Zip- und die City-Spalte nicht in Ihr Benutzerobjekt? – Nathan

+1

Die Adresstabelle hat mehr Felder. Gründe: Die Adresse kann an anderen Stellen wiederverwendet werden (Lieferadresse, Gebäudeadresse, ...). Außerdem können Sie in den generierten Klassen Methoden für Adressen haben, die nichts mit dem Benutzer zu tun haben. –

Antwort

0

Ich habe nichts mit einer Eins-zu-eins-Beziehung entworfen oder in den Symfony-Dokumenten gesehen. Es sieht für mich so aus, als behandle es dasselbe wie eine Beziehung von eins zu viele.

Ich denke, alles, was Sie tun müssen, um es zu umgehen, ist jedoch use embedded forms.

+0

Noch muss die Lösung poliert werden, aber es hat gut funktioniert. Vielen Dank! –