1 ManyToONe pour plusieurs champs dans un formulaire

Par d3LTa7, il y a 1 an


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