doctrine/doctrine-fixtures-bundle 3.7.0 中的错误:函数 Doctrine\Common\DataFixtures\AbstractFixture::getReference() 的参数太少

问题描述 投票:0回答:1

doctrine/doctrine-fixtures-bundle
更新到 v3.7.0 后,我在尝试加载灯具时收到此错误:

在 AbstractFixture.php 第 78 行:
函数 Doctrine\Common\DataFixtures\AbstractFixture::getReference() 的参数太少,传入了 1 个...而预期正好有 2 个

请参阅下面我自己的答案。

php symfony doctrine
1个回答
0
投票

解决方案

在报告的行中,将第二个参数添加到

getReference()
,其中包含引用对象的(即不是Fixtures类),例如:

$this->getReference('testuser', User::class);

背景

该更改在 https://github.com/doctrine/data-fixtures/pull/464 中引入,并于

doctrine/data-fixtures 2.0.0

中发布

并且

doctrine/doctrine-fixtures-bundle 3.7.0
添加了对
doctrine/data-fixtures 2.0.0
的支持。

因此,如果您的

doctrine/data-fixtures
中没有明确提及
composer.json
,您会自动升级到 v2.0.0。

因此,为了防止将来出现此类意外,请将其添加到您的

composer.json

"doctrine/data-fixtures": "^2.0",
© www.soinside.com 2019 - 2024. All rights reserved.