Не раз замечал, что разработчики в фикстурах используют EntityManager. Но у пакета фикстур есть другой инструмент для построения связей: `php
namespace AppDataFixtures;
use AppEntityContentProject; use DoctrineBundleFixturesBundleFixture; use DoctrinePersistenceObjectManager;
class FooFixture extends Fixture { public function load(ObjectManager $manager): void { for ($i = 1; $i <= 10; $i++) { $product = new Project(); $manager-persist($product); $this->addReference((string) $i, $product); }
$manager->flush(); } } $this->addReference создает на этапе посева именованную ссылку на сущность. Дальше мы просто можем сослаться на нее в зависимой фикстуре: `class BarFixture extends Fixture implements DependentFixtureInterface { public function load(ObjectManager $manager): void { for ($i = 1; $i <= 5; $i++) { $projectProduct = new ProjectProduct() ->setProject($this->getReference('1', Project::class));
$manager->persist($projectProduct); }
$manager->flush(); }
public function getDependencies(): array { return [FooFixture::class]; } } $this->getReference получает ранее созданную сущность.``