📜  评论mettre en place les fixtures - 任何代码示例

📅  最后修改于: 2022-03-11 14:57:32.130000             🧑  作者: Mango

代码示例1
Fixtures
    composer require --dev orm-fixtures
Facker
    composer require --dev fzaninotto/faker
    
      namespace App\DataFixtures;
    use App\Entity\Livre;
    use App\Entity\Auteur;

    use Doctrine\Bundle\FixturesBundle\Fixture;
    use Doctrine\Common\Persistence\ObjectManager;
    use Faker;

   class AppFixtures extends Fixture
   {
       public function load(ObjectManager $manager)
        {
         $faker = Faker\Factory::create('fr_FR');
             // on crée 4 auteurs avec noms et prénoms "aléatoires" en français
             $auteurs = Array();
             for ($i = 0; $i < 4; $i++) {
                 $auteurs[$i] = new Auteur();
                 $auteurs[$i]->setNom($faker->lastName);
                 $auteurs[$i]->setPrenom($faker->firstName);

                 $manager->persist($auteurs[$i]);
             }
         // nouvelle boucle pour créer des livres

         $livres = Array();

         for ($i = 0; $i < 12; $i++) {
                 $livres[$i] = new Livre();
                 $livres[$i]->setTitre($faker->sentence($nbWords = 6, $variableNbWords = true));
                 $livres[$i]->setAnnee($faker->numberBetween($min = 1900, $max = 2020));
                 $livres[$i]->setAuteur($auteurs[$i % 3]);

                 $manager->persist($livres[$i]);
             }

             $manager->flush();