[Symfony] Formulaire et clés étrangères
Elorfin
Messages postés
19
Statut
Membre
-
maniT4c Messages postés 71 Statut Membre -
maniT4c Messages postés 71 Statut Membre -
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.
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.
A voir également:
- [Symfony] Formulaire et clés étrangères
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Cles windows 10 - Guide
- Clés word - Télécharger - Sécurité
3 réponses
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:
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/
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/