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

Cas particuliers

Créer un mot de passe d'utilisateur

Sources & Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.