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 :

Faker: remplir une table d'association ( ManyToMany )


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut Faker: remplir une table d'association ( ManyToMany )
    Bonjour,

    pour faire simle:
    - j'ai créé une table animal et utilisé le package Faker (fzaninotto) pour créer des animaux
    - même chose avec la table continent ( ajoutés directement les 7 continents avec phpMyAdmin )

    Il y a une relation Many To Many entre les deux tables, et Doctrine à généré directement cette table ( animal-continent ) lors de la migration.
    Mais l'entité n'existe pas dans le projet !!
    Si je veux remplir cette table avec faker, je suis un peu ...coincé ! car je n'ai pas d'entité pour cette table.

    Je ne vois pas comment setter les valeurs avec les id respectifs ( animal et continent ) dans cette table.
    Je vais devoir créer l'entité ?

    Le principe est: pour chaque animal (qui existe ) de ma table animal, lui associer un ou plusieurs continents, en sélectionnant un chiffre entre 1 et 7 pour les continents.
    Pour l'instant , j'utilise faker de façon très simple.

    Donc, comment procéder pour remplir ma table avec les données des deux tables existantes ?

    Merci d'avance,

    Laurent.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut
    Finalement , le brouillard de la digestion se dissipe et tout fonctionne:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class AnimalFixtures extends Fixture
    {
        public function __construct(AnimalRepository $animalRepository, ContinentRepository $continentRepository)
        {
            $this->continent = $continentRepository;
            $this->animal = $animalRepository;
        }
     
        public function load (ObjectManager $manager): void
        {
            for ($i=0 ; $i < 40 ;$i++) {
                $animal = $this->animal->find($i + 1);
                for ($j = 0; $j < rand(1, 3); $j++) {
                    $continent = $this->continent->find(rand(1, 7));
                    $animal->addContinent($continent);
                }
                $manager->persist($animal);
            }
            $manager->flush();
        }
    }

    et bien sûr , s'il y a une erreur dans mon code ou quelque chose de pas correct, corrigez-moi

    Laurent.

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

Discussions similaires

  1. Remplir une Table avec 2 tables
    Par Titouf dans le forum Oracle
    Réponses: 4
    Dernier message: 03/11/2005, 09h35
  2. comment remplir une table
    Par donny dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/07/2005, 11h22
  3. remplir une table en fonction des résultats
    Par Psychomantis dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/10/2004, 12h22
  4. [SWT] Comment remplir une Table ?
    Par simon77 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 23/08/2004, 10h31
  5. remplir une table avec UTL_FILE.GET_LINE
    Par delphim dans le forum SQL
    Réponses: 9
    Dernier message: 12/03/2004, 10h15

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