Ceci est une ancienne révision du document !
Fixtures
Prérequis
symfony composer req orm-fixtures –dev
Cette commande, entre autre :
- crée un répertoire :
/src/DataFixtures
- Crée un fichier
AppFixtures.php
dans le répertoire ci-dessus.
Si on utilise Faker pour générer des données aléatoires, il faut l'installer aussi :
symfony composer req fzaninotto/faker –dev
Faker
Pour voir les differents formats généré par Faker, rdv ici → https://fakerphp.github.io/formatters/numbers-and-strings/
AppFixtures.php
- AppFixtures.php
<?php namespace App\DataFixtures; use Faker\Factory; use App\Entity\GTicket; use Doctrine\Persistence\ObjectManager; use Doctrine\Bundle\FixturesBundle\Fixture; class AppFixtures extends Fixture { const NB_TICKETS = 20000; public function load(ObjectManager $manager): void { $faker = Factory::create('fr_FR'); for ($i=0;$i<self::NB_TICKETS;$i++) { $ticket=new GTicket(null); $ticket->setNum($faker->randomNumber(4,false)); $ticket->setMail($faker->email()); $ticket->setDate($faker->dateTimeBetween('-1 week', '+4 week')); $ticket->setIp($faker->ipv4()); $manager->persist($ticket); } $manager->flush(); } }
Application des fixtures
symfony console doctrine:fixtures:load
Sources & Ressources
Vous pourriez laisser un commentaire si vous étiez connecté.