Symfony doctrine:fixtures:load给出ContextErrorException,注意:未定义的变量

时间:2018-01-29 16:25:47

标签: symfony doctrine-orm fixtures

我无法弄清楚这里发生了什么。 我正在尝试在symfony项目中添加灯具,没什么奇怪的,灯具似乎很好,并且控制台命令:

php bin/console doctrine:fixtures:load --env=test

找到我的灯具,但不想加载它,因为它说:

# php bin/console doctrine:fixtures:load --env=test
Careful, database will be purged. Do you want to continue y/N ?y
> purging database
> loading Covoituragesimple\AnnonceBundle\DataFixtures\ORM\AppFixtures

[Symfony\Component\Debug\Exception\ContextErrorException]  
Notice: Undefined variable: EjehHi1ubBYApRfaNZnEo          

我不知道在哪里看? 搜索什么?它来自哪里? 怎么解决?

我尝试了什么: 我尝试删除oneToOne和oneToMany关系 - > deos似乎没有改变任何东西)

ps:我使用的是doctrine-fixtures-bundle的版本“doctrine / doctrine-fixtures-bundle”:“2. *”(因为我使用symfony-framework-bundle 3.2,所以我不能使用最后一个版本。 13和最后一个版本的教条 - 装置要求3.3 +)。

1 个答案:

答案 0 :(得分:0)

[已决议] Aoutch!好吧,我的坏,我的坏。 rubber duck debbuging帮助我解决了问题。

$client = new Client();
$client->setName("clienttest");
$client->setEmail("clienttest@provider.com");
$client->setUsername("clienttest");
$client->setDisplayname("clienttest");
$client->setSignaturemail("blablabla.<br />");
$client->setPassword("$2y$10$EjehHi1ubBYApRfaNZnEo.aQ/aZIiTJdY2sPetVWj7P7/yQNfhe7a");
$manager->persist($client);
$manager->flush();

我使用双引号而不是简单引用,所以php试图解释密码的bcrypt哈希并告诉我var $ EjehH ....不存在(这是真的)。

用单引号替换双引号解决了这个问题。

$client->setPassword('$2y$10$EjehHi1ubBYApRfaNZnEo.aQ/aZIiTJdY2sPetVWj7P7/yQNfhe7a');

感谢您的帮助。