[Symfony] Formulaire et clés étrangères

Fermé
Elorfin Messages postés 19 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - 18 juin 2010 à 09:45
maniT4c Messages postés 52 Date d'inscription lundi 11 juin 2007 Statut Membre Dernière intervention 5 février 2016 - 18 juil. 2011 à 16:05
Bonjour,

Pour le boulot, je dois développer un logiciel de gestion d'un Parc de logement sur le framework Symfony.

Etant débutant sur le framework, je m'arrache les cheveux sur des trucs que j'aurais pu faire super simplement en php simple.

Je vous explique mon problème :

- J'ai une classe parcLogement, et une autre classe logement. Dans la classe logement, j'ai un attribut adresse qui est une clé étrangère renvoyant à l'attribut id de parclogement.

- Quand je génère le module CRUD de ma classe logement, il me génère le formulaire de création d'un nouveau logement. Jusque là pas de problème, mais comme champs pour adresse, il me met une liste déroulante avec les id des éléments présents dans la table parclogement, ce qui est normal.

Maintenant ma question, c'est comment faire pour enlever ce champs id et mettre à la place des champs plus parlant pour l'utilisateur, comme le numero et la rue (je précise que le couple num/rue est unique) ? Après je récupère ces informations et à partir de là je peux retrouver l'id correspondante et l'affecter à mon attribut adresse de la classe logement.

Merci pour vos réponses, ça fait un bout de temps que je cherche sur internet mais je n'ai toujours pas trouvé de réponse à ce problème.



3 réponses

maniT4c Messages postés 52 Date d'inscription lundi 11 juin 2007 Statut Membre Dernière intervention 5 février 2016 23
18 juil. 2011 à 16:05
J'espère que depuis le temps tu as trouvé la réponse à ta question.
Mais comme ça peut aider d'autres personnes voici une piste.
Tu dois surcharger la fonction configure du formulaire de ton modèle.

En ajoutant un truc du genre:
$this->validatorSchema['adresses_list'] = new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'Adresse', 'required' => true));


et si tu veux ensuite trier sur cette clef étrangère regarde ici: http://www.blog.manit4c.com/2011/07/01/trier-vos-resultats-sur-une-clef-etrangere-avec-symfony-1_4/
1
Elorfin Messages postés 19 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 4
22 juin 2010 à 08:43
Y'a vraiment personne qui sait ? Qui connait un ptit tuto que j'ai pas trouvé ?
0
https://symfony.com/legacy

C'est là qu'on apprend ...
-1