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?
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
toDataFixtures
insevice.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']
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With