Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony 3.4.0 Could not find any fixture services to load

I am using Symfony 3.4.0, I try to load fixtures with:

php bin/console doctrine:fixtures:load 

An error occurred while creating the data, what's wrong?

enter image description here

like image 947
Alexander Avatar asked Dec 03 '17 00:12

Alexander


2 Answers

This command looks for all services tagged with doctrine.fixture.orm.
There is two ways to fix this problem.

First one: any class that implements ORMFixtureInterface will automatically be registered with this tag.

<?php  namespace AppBundle\DataFixtures\ORM;   use Doctrine\Bundle\FixturesBundle\ORMFixtureInterface; use Doctrine\Common\Persistence\ObjectManager;  class LoadFixtures implements ORMFixtureInterface {     public function load(ObjectManager $manager)     {         #your code     } } 

Second one: You need manually tag doctrine.fixture.orm to DataFixtures in sevice.yml configuration.

services:     ...      # makes classes in src/AppBundle/DataFixtures available to be used as services     # and have a tag that allows actions to type-hint services     AppBundle\DataFixtures\:         resource: '../../src/AppBundle/DataFixtures'         tags: ['doctrine.fixture.orm'] 
like image 89
GuRu Avatar answered Sep 19 '22 16:09

GuRu


I tried @Alexander's solution but it's doesn't work for me.

I had resolved the same problem by adding the tag service to the class, Symfony doc on the services.yml file bundle:

BlogBundle/Resources/config/services.yml

Services: ... # Fixtures services     BlogBundle\DataFixtures\ORM\PostFixture:         tags: [doctrine.fixture.orm] ... 

My BlogBundle/DataFixtures/ORM/PostFixture.php class :

... use Doctrine\Common\DataFixtures\FixtureInterface; use Doctrine\Common\Persistence\ObjectManager; ...  class PostFixture implements FixtureInterface { public function load(ObjectManager $manager)     { ... } } 

Source Inspiration : Synfony doc -> Service container -> The autoconfigure Option

Hope it'll an alternative solution

like image 35
zatamine Avatar answered Sep 19 '22 16:09

zatamine