@gitdev

Как запустить фикстуры в определенной последовательности в Symfony 4?

При запуске кода выдает ошибку:
In SymfonyFixturesLoader.php line 67:

The "App\Metrag\AppBundle\Entity\AgentReview" fixture class is trying to be loaded, but is not available. Make sure this class is defined as a service and tagged with "doctrine.fixture.orm".


use App\Metrag\AppBundle\Entity\AgentRealty;
use App\Metrag\AppBundle\Entity\AgentReview;
use Doctrine\Bundle\FixturesBundle\Fixture;

use Doctrine\Common\DataFixtures\DependentFixtureInterface;

use Doctrine\Common\Persistence\ObjectManager;

class GroupFixtures extends Fixture implements DependentFixtureInterface
{
    public function load(ObjectManager $manager)
    {
        // ...
    }

    public function getDependencies()
    {
        return array(
            #need for dependencies
            AgentFixtrue::class,
            DealTypeFixture::class,
            DistrictFixtrue::class,
            LayoutFixtrue::class,
            StateFixtrue::class,
            StatusFixtrue::class,

            #depend
            AgentReview::class,
            ComplaintFixtrue::class,
            RequestOnViewFixtrue::class,
            TypeFixtrue::class,
            RealtyFixture::class,
        );
    }
}
  • Вопрос задан
  • 1147 просмотров
Решения вопроса 1
Matmode
@Matmode
PHP/Symfony Developer
Текст ошибки указывает на то, что проблема кроется не в порядке загрузки фикстур, а в объявление сервиса для класса AgentReview.
Советую проверить, что:
1. Класс AgentReview
унаследован от Fixture. В этом случае, при использование autowire, фикстуры должны сами подхватиться.
2. Если класс унаследован от Fixture или отключен autowire, то скорее всего у вас где-нибудь прописана конфигурация сервиса. Тогда нужно убедиться, что в объявление сервиса для класса AgentReview указан тег "doctrine.fixture.orm"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы