Symfony3 Doctrine Hautelook/Alice 无法加载固定装置

Symfony3 Doctrine Hautelook/Alice cannot load fixtures

我在我的项目中使用 Symfony3 以及 Doctrine ORM。 现在我想用 Hautelook/AliceBundle.

制作一些漂亮的灯具

所以我正在安装捆绑包,将其注册到 AppKernel 并在配置中创建一个条目。

我添加了一个这样的 DataLoader:

use Hautelook\AliceBundle\Doctrine\DataFixtures\AbstractLoader;

class DataLoader extends AbstractLoader
{
/**
 * {@inheritdoc}
 */
public function getFixtures()
{
    return [
        __DIR__.'/../ORM/user.yml',
    ];
}
}

现在,如果我尝试 运行 命令如下:

 sf hautelook_alice:doctrine:fixtures:load

我收到错误消息:

[Symfony\Component\Debug\Exception\UndefinedMethodException]                                                    
Attempted to call an undefined method named "addClass" of class "Doctrine\ORM\Internal\CommitOrderCalculator".

我的 composer.json 包含:

"doctrine/orm"                                          : "^2.5.4",
"doctrine/doctrine-bundle"                              : "^1.6",
"doctrine/data-fixtures"                                : "^1.1",
"hautelook/alice-bundle"                                : "^1.2",
"doctrine/doctrine-fixtures-bundle"                     : "^2.3",

我真的不知道这里的问题是什么,我希望任何人都可以帮助我找到或知道解决方案。 如有遗漏,我会尽快补充。

提前致谢

我可以通过对 composer.json 进行以下更改来解决此问题:

"doctrine/data-fixtures": "dev-topological-sorter as 1.1.x-dev"

该问题已链接到 github,但尚未合并。 您可以在这里阅读更多相关信息:

https://github.com/doctrine/data-fixtures/pull/222/commits/987e5f35142ac4ac5dc60a16d1eb18293964bc25

我希望这能帮助其他遇到同样问题的人。

感谢 Alvin 帮助我。