【问题标题】:Symfony doctrine:fixtures:load give ContextErrorException, Notice: Undefined variableSymfony 学说:fixtures:load 给出 ContextErrorException,注意:未定义变量
【发布时间】:2018-01-29 16:25:47
【问题描述】:

我无法弄清楚这里发生了什么。 我正在尝试在 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+)。

【问题讨论】:

  • 你能出示你的代码吗?

标签: symfony doctrine-orm fixtures


【解决方案1】:

[已解决] 出发!好吧,我的坏,我的坏。 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');

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2018-11-21
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多