Hello !
J'aimerais savoir s'il est possible d'utiliser un ManyToOne pour plusieurs champs dans un formulaire ?

Voici un exemple :
J'ai une entité Voiture et une autre Concours
(le concours peut avoir une voiture (de chaque) mais la voiture peut avoir plusieurs concours)
Et donc 2 tables dans la BDD
Champ table Voiture :
id | modele | couleur | annee
Champ table Concours :
id | nom | voiture | date
Dans un formulaire de création du concours, j'ai un champ pour selectionner la voiture par l'intermédiaire de son modèle et, à côté, j'aimerais avoir 2 autres champs : couleur et année.

Donc j'ai l'Entity Concours et plus précisément, le lien vers l'Entity Voiture:

 #[ORM\ManyToOne(inversedBy: 'concours')]
 #[ORM\JoinColumn(nullable: false)]
    private ?Voiture $voiture = null;

    public function getVoiture(): ?Voiture
    {
        return $this->voiture;
    }

    public function setVoiture(?Voiture $voiture): static
    {
        $this->voiture = $voiture;
        return $this;
    }

Le type ConcoursType :

->add('voiture', EntityType::class,[
                'class' => Voiture::class,
                'autocomplete' => true,
                'query_builder' => function (VoitureRepository $r) {
                    return $r->createQueryBuilder('i')
                    ->orderBy('i.modele', 'ASC');
                },
                'attr' => [
                    'class' => 'form-select'
                ],
                'label' => "Modèle de la voiture",
                'label_attr' => [
                    'class' => 'form-label mt-4'
                ],
                'choice_label' => 'modele',
                'multiple' => true,
            ])

1ere question : Est ce que je peux récupérer les autres champs de la voiture (couleur et année) sans refaire un "add" vu que de toute façon celui-ci cible l'élément "voiture" de mon entity Concours avec Symfony ?

2eme question : Est ce qu'il est possible de creer dans champs auto complète qui ne peuvent pas être modifié par l'utilisateur ?

Merci

Aucune réponse