我正在使用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]
该任务已插入数据库的组1
和3
组。
每当我尝试将灯具加载到数据库时,我都会收到以下错误:
~>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组。我将尝试解决它并查看命令是否可以在没有清除的情况下执行...
答案 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 }}