bonsoir,
j'ai crée un fichier de fixture pour remplir une table annaonce
voici le code
{...}
class LoadAnnonce implements FixtureInterface
{
public function loadAd(ObjectManager $manager)
{
$min=date('1-12-2016');
$max=date ('1-3-2017');
for ($i = 1; $i <= 10; $i++)
{
$advert= new Advert;
$advert->setTitle("annonce".$i);
$advert->setContent("description d annonce".$i);
$advert->setPrice(rand(5, 100));
$advert->setBrand("marque d annonce".$i);
$advert->setState("etat d annonce".$i);
$advert->setShowphone(rand(0, 1));
$advert->setPublished(rand(0, 1));
$advert->setShowphone(0);
$advert->setPublished(1);
$advert->setCustomer(1);
$min_epoch = strtotime($min);
$max_epoch = strtotime($max);
$rand_epoch = rand($min_epoch, $max_epoch);
$advert->setDatecreate(date('d-m-Y H:i:s', $rand_epoch));
$manager->persist($advert);
}
// On déclenche l'enregistrement
$manager->flush();
}
}
je lance la commande
php app/console doctrine:fixtures:load
sans aucun résultat.
merci d'avance.
Non tu n'as pas besoin de faire le flush dans la boucle.
Si tu flush sa va faire une transation par insert et tu perd énormement en perfomance
Si ton problème est toujours d'actualité : L'erreur est dans le nom de la méthode.
bad :
public function loadAd(ObjectManager $manager)
good :
public function load(ObjectManager $manager)