У меня есть этот проект, где я пытаюсь загрузить фиктивные данные во время разработки, у меня есть два прибора
это мой первый прибор
use AppBundle\Entity\Categorie;
use AppBundle\Entity\Produit;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
class CatFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
$catlib = array('Samrtphones', 'ordinateurs', 'voitures');
$i = 0;
$sc = scandir('/home/moxched/Bureau/e-commerce/src/DataFixtures/images/img_cat');
foreach ($sc as $file) {
if (($file != '.') && ($file != '..')) {
copy('/home/moxched/Bureau/e-commerce/src/DataFixtures/images/img_cat' . '/' . $file, '/home/moxched/Bureau/e-commerce/web/uploads/cat_img' . '/' . $file);
$c = new Categorie();
$c->setImage($file);
$c->setDescription('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua');
$c->setLibelle($catlib[$i]);
$c->setSlug($c->getLibelle());
$manager->persist($c);
$i = $i + 1;
}
}
$manager->flush();
}
}
это мой второй прибор
use AppBundle\Entity\Categorie;
use AppBundle\Entity\Produit;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
class ProdFixtures extends Fixture implements ODependentFixtureInterface {
private function getPrix(){
return rand(12.67*10,986.64*10)/10;
}
public function load(ObjectManager $manager)
{
$i = 1;
$j = 1;
$sp = scandir('/home/moxched/Bureau/e-commerce/src/DataFixtures/images/img_prod');
foreach ($sp as $file) {
if (($file != '.') && ($file != '..')) {
copy('/home/moxched/Bureau/e-commerce/src/DataFixtures/images/img_prod' . '/' . $file, '/home/moxched/Bureau/e-commerce/web/uploads/prod_img' . '/' . $file);
$p = new Produit();
$p->setLibelle(str_replace('.jpg', '', $file));
$p->setDescCourt('Ut enim ad minim veniam, quis nostrud exercitation ullamc');
$p->setDescLong('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.');
$p->setSlug($p->getLibelle());
$p->setPrix($this->getPrix());
$p->setImagePrinc($file);
$p->setImage1($file);
$p->setImage2($file);
$p->addCategory($manager->getRepository(Categorie::class)->find($i));
$manager->persist($p);
$j = $j + 1;
if ($j = 6) {
$i = $i + 1;
$j = 1;
}
}
}
$manager->flush();
// TODO: Implement load() method.
}
function getDependencies()
{
return array(
CatFixtures::class,
);
}
}
когда я загружаю свои приборы, он очищает базу данных, загружает мои первые приборы, затем снова очищает базу данных, а затем пытается загрузить мои вторые приборы, так как второе зависит от первого зависания, которое я пробовал с OrderedFixturesInterface, и этометод, который задает порядок и с DependentFixturesInterface и его метод получает зависимости это все та же последовательность событий, которые происходят, я хотел бы очень знать, что мой код отсутствует или какой шаг я забыл любую помощь, будет очень признателен