Bonjour,

Ma question doit être assez générale et devrait en aider plus d'un ! Je vais l'expliquer avec mon exemple : J'ai une hiérarchie parent/enfant composés (en simplifiant) d'entités "Parent" et d'entités "Enfant". (il ne peut y avoir qu'un seul niveau dans l'arbre). Tout ce petit monde est rattaché à un "Projet".

-Projet
-- Parent 1
------Enfant 1.1
------Enfant 1.2
-- Parent 2
------Enfant 2.1
------Enfant 2.2
------Enfant 2.3

J'ai donc mes formulaires pour créer des parents et des enfants. Avec dans chaque enfant une relation vers le parent. Dans le formulaire d'Enfant, je ne veux pas mettre un simple champ "select" pour choisir le parent car la liste est extrêmement longue et je ne veux pas laisser la main à l'utilisateur sur ça. J'ai déjà la référence au parent dans mon contrôleur EnfantController ou même dans l'url.

Mes url sont de type :
.../projet/xxx/parent/yyy/edit
.../projet/xxx/parent/yyy/enfant/new

Ma question : quelle est la meilleure solution pour persister ma référence au parent lorsque j'enregistre un nouvel enfant (ou que je le modifie).

1. Passer l'id du parent au form et l'afficher en tant que champ "hidden" puis le reconvertir en entité Parent au moment de l'enregistrement dans le contrôleur ? (je crois qu'il existe également un bundle pour créer un champ hidden qui convertit automatiquement l'id en entité).

2. Utiliser un event sur le formulaire (sur l'entité ?) pour setter cette valeur automatiquement ? (il n'y a pas beaucoup de docs sur les différents events de formulaire...)

3. Une autre solution ?

En fait, je pose la question car je me demande si on ne peut pas se passer facilement d'un champ "hidden" contenant l'id du parent dans le formulaire. Ca me paraît plus propre et sécurisé de le définir ailleurs mais je ne sais pas trop quelle technique est la mieux.

Merci pour vos conseils