Symfony 固定装置和多对多关系(学说)
Posted
技术标签:
【中文标题】Symfony 固定装置和多对多关系(学说)【英文标题】:Symfony fixture & many to many relationship (Doctrine) 【发布时间】:2010-12-13 13:20:11 【问题描述】:我正在尝试在具有多对多关系的表上创建固定装置,但出现此错误:
SQLSTATE[23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败(
bambinbazar
.bambinbazar_category_articles
,CONSTRAINTbabi
FOREIGN KEY(articles_id
)参考bambinbazar_articles
(id
) 删除级联)
在我的夹具中:
BambinbazarArticles:
article_vetement:
title: bla bla
BambinbazarCategory: [whateverCat]
在我的架构中:
relations:
BambinbazarCategory:
class:BambinbazarCategory
refClass: BambinbazarCategoryArticles
local: category_id
foreign: articles_id
foreignAlias: BambinbazarArticles
【问题讨论】:
【参考方案1】:您必须首先使用夹具创建一个 BambinbazarCategory 对象(whatevercat 不引用任何内容,是吗?)
【讨论】:
【参考方案2】:您需要以这样的顺序加载固定装置,即不会在数据库中存在“父”记录之前尝试创建“子”记录。当您一次加载所有固定装置时,它会创建非法的外键引用字段,因此会引发该错误。
也许有一些聪明的方法可以解决它,但我个人只是单独加载夹具,从父级开始,通过将夹具文件从夹具文件夹中取出,运行标准加载数据命令,将另一个夹具文件粘贴回,并重复该命令。
【讨论】:
以上是关于Symfony 固定装置和多对多关系(学说)的主要内容,如果未能解决你的问题,请参考以下文章