forme création sortie

This commit is contained in:
marvin
2024-11-19 14:04:47 +01:00
parent 51fcbba8b2
commit 6403b41a3e
9 changed files with 344 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
<?php
namespace App\DataFixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
class AppFixtures extends Fixture
{
public function load(ObjectManager $manager): void
{
// $product = new Product();
// $manager->persist($product);
$manager->flush();
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\DataFixtures;
use App\Entity\Etat;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\Uid\Uuid;
class EtatFixtures extends Fixture
{
public function load(ObjectManager $manager): void
{
$etats = [
'Créée',
'Ouverte',
'Clôturée',
'En cours',
'Terminée',
'Annulée',
];
foreach ($etats as $libelle) {
$etat = new Etat();
$etat->setLibelle($libelle);
$manager->persist($etat);
}
$manager->flush(); // Enregistrement en base de données
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\DataFixtures;
use App\Entity\Lieu;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Persistence\ObjectManager;
use Faker\Factory;
class LieuFixtures extends Fixture implements DependentFixtureInterface
{
public function load(ObjectManager $manager): void
{
$faker = Factory::create();
// Exemple : Références pour des villes déjà créées dans VilleFixtures
$villes = [
$this->getReference('ville_Paris'),
$this->getReference('ville_Lyon'),
$this->getReference('ville_Marseille'),
];
foreach ($villes as $ville) {
for ($i = 0; $i < 5; $i++) { // Génère 5 lieux par ville
$lieu = new Lieu();
$lieu->setNom($faker->streetName());
$lieu->setRue($faker->streetAddress());
$lieu->setLatitude($faker->latitude());
$lieu->setLongitude($faker->longitude());
$lieu->setVille($ville); // Associe le lieu à une ville
$manager->persist($lieu);
}
}
$manager->flush();
}
public function getDependencies(): array
{
return [
VilleFixtures::class, // Assure que VilleFixtures est chargée en premier
];
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace App\DataFixtures;
use App\Entity\Ville;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
class VilleFixtures extends Fixture
{
public function load(ObjectManager $manager): void
{
// Tableau associatif contenant les noms des villes et leurs codes postaux
$villes = [
['nom' => 'Paris', 'codePostal' => '75000'],
['nom' => 'Lyon', 'codePostal' => '69000'],
['nom' => 'Marseille', 'codePostal' => '13000'],
];
foreach ($villes as $villeData) {
$ville = new Ville();
$ville->setNom($villeData['nom']);
$ville->setCodePostal($villeData['codePostal']); // Définit le code postal
$manager->persist($ville);
// Ajoute une référence pour les fixtures de lieux
$this->addReference('ville_' . $villeData['nom'], $ville);
}
$manager->flush();
}
}