Symfony 4.1.6找不到要加载的夹具服务

时间:2018-10-24 21:11:42

标签: symfony doctrine

我正在尝试为Symfony项目创建固定装置。不幸的是,我遇到了以下错误:

  

在LoadDataFixturesDoctrineCommand.php第95行中:

     

找不到任何要加载的灯具服务。

我已经尝试了人们在这里建议的所有内容。但是没有帮助。

我的代码是这样:

    <?php

namespace App\DataFixtures;

use App\Entity\Users;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;

class UserFixtures extends Fixture
{
    private $encoder;

    private function __construct(UserPasswordEncoderInterface $encoder){
        $this->encoder = $encoder;
    }

    public function load(ObjectManager $manager)
    {
        $user = new Users();
        $user->setUsername('wessel');
        $user->setPassword(
            $this->encoder->encodePassword($user, '123abc')
        );
        $user->setEmail('test@test.te');

        $manager->persist($user);
        $manager->flush();
    }
}

我还补充了triend来编辑services.yaml:

  App\DataFixtures\:
        resource: '../src/DataFixtures'
        tags: [doctrine.fixture.orm]

很遗憾,没有帮助,我在做什么错?

1 个答案:

答案 0 :(得分:0)

请注意,使用最新的 HauteLook AliceBundle灯具,现在加载灯具的命令是:

php bin/console hautelook:fixtures:load

使用 php bin / console准则:fixtures:load 将导致Could not find any fixture services to load.错误

此外,当命令无法清除数据库时,可以使用

php bin/console hautelook:fixtures:load --purge-with-truncate