Salut !
Je suis en train d'apprendre SF et j'essaye un peu tout les cas de figure de liaison entre les tables, mais là je bloque sur la possibilité de remplir une table par l'intermédiaire d'un formulaire d'une autre Entity et de pouvoir en ajouter plusieurs via le même formulaire ! Donc on serait dans un ManyToOne !
Par exemple j'ai une table "jeu" et une autre table "console". J'ai des Entity lié à ces 2 tables, j'ai un fichier ConsoleType pour faire le formulaire et y ajouter des consoles dans la table. Mais j'aimerais aussi ajouter dynamiquement dans ce même formulaire, les jeux lié à la console en question et qui seront évidement stocké dans l'autre table.
J'ai déjà essayé des choses en me basant sur des cas de figure déjà fait comme par exemple sélectionner 1 ou plusieurs éléments d'une table avec des liaisons en OneToMany ou ManyToMany mais a chaque fois c'est des requêtes vers des tables déjà remplis... Donc un peu différent
Voici une partie du builder dans mon ConsoleType qui me permet de lister les jeux déjà dans la table "jeu" dans mon formulaire
Donc la on récupère la liste avec une requete pour après pouvoir en selectionner 1 ou plusieurs et donc créé un lien dans la table console avec le ou les id des jeux selectionner !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ->add('jeu', EntityType::class,[ 'class' => Jeu::class, 'query_builder' => function (JeuRepository $r) { return $r->createQueryBuilder('i') ->orderBy('i.nom', 'ASC'); }, 'label' => "Jeu", 'label_attr' => [ 'class' => 'form-label mt-4' ], 'choice_label' => 'nom', 'multiple' => true, 'expanded' => true, ])
Mais ce que je voudrais, plutot que de selectionner des jeux deja existant c'est d'avoir un champ texte et rentrer dynamiquement le ou les jeux !
J'avais aussi pensé à la possibilité de creer un fichier JeuType mais de faire apparaitre les champs dans la même page que celui du ConsoleType, ou de faire un lien dans la page du formulaire du ConsoleTyle qui emmenerais vers la page d'un autre formulaire pour le JeuType, mais le souci c'est que comme c'est du ManyToOne, la table jeu à un champs "console_id", donc compliqué d'avoir une ID qui n'est pas encore créé :/
Merci
Partager