Bonjour,

Je suis nouveau sur ce forum donc bonjour à tout le monde. Je suis en train de de féaliser un projet sur symfony et je rencontre un problème. J'ai 3 entités : Sortie, Lieu, Ville. J'ai réalie les relations bidirectionnelles entres ses entités. J'ai créé un formulaire qui a pour objectif de créer une nouvelle sortie. Ce formulaire est composé des champs de l'entité Sortie mais aussi de ville et de Lieu. Jusque la il n'y a pas de soucis ca fonctionne. Dans mon formulaire j'ai deux listes déroulantes(entityType) qui corespondent au nom de la ville et au nom du lieu (Pour l'instant j'ai deux villes Paris et Rennes) et pour chaque ville j'ai deux lieux. Donc pour créer une sortie jen'ai aucun soucis. Par contre lorsque j'édite une sortie j'ai tous les champs pré-remplis sauf ceux des listes déroulantes à savoir mes deux entityType (nom du lieu et nom de la ville) plus préciséement je n'ai pas de'attrribut "selected " sur la valeru correspondant à la sortie éditée (sortie.lieu.nom et sortie.ville.nom). J'aimerais résoudre ce problème sans utilisersans utiliser de javascript. Cependant soit je m'y prends très mal sois je suis passé à coté de quelques choses dans la doc mais je galère à trouver une fonctionnalité.

Ce que je fais

SortieType

public function buildForm(FormBuilderInterface $builder, array $options)
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom')
->add('dateDebut')
->add('duree')
->add('dateCloture',DateType::class)
->add('nbInscriptionsMax')
->add('descriptionInfos')
->add('lieu', LieuType::class,[
"label_attr" => ['hidden'=>true]
]);

LieuType
public function buildForm(FormBuilderInterface $builder, array $options)
{

    $builder
        ->add('nomLieu', EntityType::class,[
            "class" => Lieu::class,
            "choice_label" => "nomLieu"
        ])
        ->add('rue')
        ->add('latitude')
        ->add('longitude')
        ->add('ville', VilleType::class);
}

VilleType
class VilleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nomVille',EntityType::class,[
"class" => Ville::class,
"choice_label" => "nomVille"
])
->add('codePostal')
;
}

Ce que je veux

Donc je souhaite que l'orsque j'édite une sortie la valeur par défaut dans la liste déroulante (nom du lieu et nom de la ville) soit la valeur de la sortie

Ce que j'obtiens

J'obtiens les valeurs dans l'ordre dans laquelle ils sont de bases...

Aucune réponse