2010-12-15 106 views
1

J'ai dans mon modèle défini deux entités liées par un-à-un:Symfony admin generator - One-to-one relations

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

Address: 
    columns: 
    zip: string 
    city: string 

Lorsque j'utilise le générateur, mon formulaire comprend tous les domaines de l'objet Utilisateur, y compris une liste déroulante pour sélectionner une adresse.

Ce que je voudrais, c'est pouvoir entrer directement le code postal et la ville de l'adresse de l'utilisateur. Comment demander que cela soit généré dans le fichier generator.yml? Dois-je implémenter du code pour le faire moi-même ou y a-t-il un moyen pour qu'il soit automatique?

+0

Je ne vois pas l'objet School dans votre exemple, mais je me demande aussi, quel est le sens d'une relation un à un? Pourquoi ne pas mettre les colonnes zip et city dans votre objet User? – Nathan

+1

La table d'adresses contient plus de champs. Motifs: l'adresse peut être réutilisée à d'autres endroits (adresse de livraison, adresse de bâtiment, ...) plus dans les classes générées, vous pouvez avoir des méthodes spécifiques aux adresses et qui n'ont rien à voir avec l'Utilisateur. –

Répondre

0

Je n'ai rien conçu avec une relation un à un ou je l'ai vu dans les documents symfony. Il me semble que c'est le même traitement qu'une relation de un à plusieurs.

Je pense que tout ce que vous avez à faire pour contourner ce problème, cependant, est use embedded forms.

+0

Encore besoin de polir la solution, mais cela a bien fonctionné. Merci! –