引用Nelmio的Alice中的现有对象

时间:2016-08-30 10:55:11

标签: php doctrine-orm symfony nelmio-alice

我正在使用Nelmio's Alice配置 mock / dev 数据,到目前为止一直都很好。

我正在使用hautelook's AliceBundle与Symfony 3.1进行良好的集成。

我遇到的问题是:

我有一组数据是由外部任务自动生成并插入数据库的,其中一个 Doctrine Objects 我需要引用其中一个。我已经创建了正确的 Doctrine Entity 映射字段和主键,但我无法想出如何从我的students.yml引用其中一个对象。

我尝试了以下内容:

AppBundle\Entity\Student:
    clientApp1:
        name: George
        class: 3
        age: 20
        active: true
        groups: [1, 3]

该任务已插入数据库的组13组。

每当我尝试将灯具加载到数据库时,我都会收到以下错误

~>bin/console hautelook_alice:doctrine:fixtures:load
  

[Hautelook \ AliceBundle \ Alice \ DataFixtures \ LoadingLimitException]

     

加载文件限制达到5。无法加载以下文件:

     

/home/user/App/src/AppBundle/DataFixtures/ORM/dev/students.yml:
    - 未找到Id 1和Class AppBundle \ Entity \ Group的实体

我只有一个文件,所以错误的第一部分毫无意义,我认为这更像是他们的报告系统的错字,但第二部分是让我烦恼的那个...主键(Id)是正确的,但它找不到它。

我一直在查看文档,但我没有看到任何相关内容,任何想法?

编辑我刚刚意识到该命令清除 数据库,因此Alice无法找到 Group 1 < / em>也不是第2组。我将尝试解决它并查看命令是否可以在没有清除的情况下执行...

2 个答案:

答案 0 :(得分:3)

hautelook_alice:doctrine:fixtures:load命令清除数据库,因此,如果要在数据库中的fixtures中引用实体,则应附加你的fixture。标志--append完成所有工作。

$ bin/console hautelook_alice:doctrine:fixtures:load --append

答案 1 :(得分:0)

错误发生在另一个灯具文件:src/AppBundle/DataFixtures/ORM/dev/students.yml:但不是您期望加载的那个:alice-fixtures.yml所以只需删除第一个文件并尝试再次加载灯具:{{1 }}