Symfony1 Symfony fixture&;多对多关系(学说)

Symfony1 Symfony fixture&;多对多关系(学说),symfony1,doctrine,Symfony1,Doctrine,我试图在具有多对多关系的表上创建装置,但遇到以下错误: SQLSTATE[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败(bambinbazarbambinbazar\u类别文章,约束babi外键(articles\u id)引用bambinbazar\u文章(id)删除级联) 在我的夹具中: BambinbazarArticles: article_vetement: title: bla bla BambinbazarCategory:

我试图在具有多对多关系的表上创建装置,但遇到以下错误:

SQLSTATE[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败(
bambinbazar
bambinbazar\u类别文章
,约束
babi
外键(
articles\u id
)引用
bambinbazar\u文章
id
)删除级联)

在我的夹具中:

BambinbazarArticles:  
 article_vetement:
  title:          bla bla
  BambinbazarCategory: [whateverCat]
在我的模式中:

relations:
  BambinbazarCategory: 
    class:BambinbazarCategory
    refClass: BambinbazarCategoryArticles
    local: category_id
    foreign: articles_id
    foreignAlias:  BambinbazarArticles

您必须先创建带有固定装置的BambinbazarCategory对象(什么东西Vercat不引用任何东西,是吗?)

您必须先创建带有固定装置的BambinbazarCategory对象(什么东西Vercat不引用任何东西,是吗?)

您需要以不尝试创建“子对象”的顺序加载固定装置数据库中存在“父”记录之前的记录。当您一次加载所有装置时,它会创建非法的外键引用字段,因此会抛出该错误


也许有一些聪明的方法可以解决这个问题,但我个人只是单独加载装置,从父项开始,将装置文件从fixtures文件夹中取出,运行标准的load data命令,将另一个装置文件重新插入,然后重复该命令

您需要按照这样的顺序加载装置,即在数据库中存在“父”记录之前,不要尝试创建“子”记录。当您一次加载所有装置时,它会创建非法的外键引用字段,因此会抛出该错误

也许有一些聪明的方法可以解决这个问题,但我个人只是单独加载装置,从父项开始,将装置文件从fixtures文件夹中取出,运行标准的load data命令,将另一个装置文件重新插入,然后重复该命令