引用 Nelmio 的爱丽丝中的现有对象

Referencing an existing object in Nelmio's Alice

我正在用 Nelmio's Alice 配置我的 mock/dev 数据,目前一切顺利。

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

我遇到的问题是以下问题:

我有一组数据由外部任务自动生成并插入到数据库中,在 Doctrine 对象 之一中我需要引用其中一个。我已经创建了正确的 Doctrine Entity 映射字段和主键,但我不知道如何从我的 students.yml.[=18 中引用这些对象之一=]

我试过以下方法:

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

作为组 13 任务已经插入到数据库中的组。

每当我尝试将我的 fixtures 加载到 数据库 时,我都会收到以下 error :

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

[Hautelook\AliceBundle\Alice\DataFixtures\LoadingLimitException]

Loading files limit of 5 reached. Could not load the following files:

/home/user/App/src/AppBundle/DataFixtures/ORM/dev/students.yml:
- Entity with Id 1 and Class AppBundle\Entity\Group not found

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

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

编辑: 我刚刚意识到该命令确实 清除 数据库 所以它变成了Alice 不可能找到 第 1 组第 2 组。我会尝试解决它,看看是否可以在不清除的情况下执行命令...

错误出在另一个夹具文件上:src/AppBundle/DataFixtures/ORM/dev/students.yml: 但不是您期望加载的文件:alice-fixtures.yml 所以只需删除第一个文件并尝试再次加载您的夹具:bin/console h:d:f:l

hautelook_alice:doctrine:fixtures:load 命令清除数据库,因此,如果你想在你的灯具中引用数据库中的现有实体,你应该附加你的灯具。标记 --append 完成所有工作。

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