IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Insertion de data dans une table en ManyToOne via une autre Entity


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut Insertion de data dans une table en ManyToOne via une autre Entity
    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
    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,                
                ])
    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 !
    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

  2. #2
    Membre émérite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 422
    Par défaut
    Bonjour,

    Tu peux utiliser un champ CollectionType avec l'option "allow_add" et la variable prototype pour ajouter de nouvelles entités liées : https://symfony.com/doc/current/refe...ollection.html

    Plus de détails sur l'utilisation de cette option : https://symfony.com/doc/current/form...-the-prototype

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Récupérer une data dans une autre requête ajax
    Par NapsterVB dans le forum jQuery
    Réponses: 1
    Dernier message: 25/12/2020, 09h56
  2. Réponses: 7
    Dernier message: 21/05/2020, 19h55
  3. Réponses: 6
    Dernier message: 21/10/2019, 20h09
  4. insertion de data dans plusieurs tables jsp/mysql
    Par amola1992 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 31/07/2014, 14h46
  5. [ODBC] Récupération d'une donnée pour insertion dans une autre table
    Par rom950 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2006, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo