Symfony1 Symfony fixture&;多对多关系(学说)
我试图在具有多对多关系的表上创建装置,但遇到以下错误: SQLSTATE[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败(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:
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命令,将另一个装置文件重新插入,然后重复该命令