问题描述
|
我和Jobeet学习Symfony和主义。我想在JobeetJob中添加关系。
这是原始的:
http://www.symfony-project.org/jobeet/1_4/Doctrine/zh/03
我喜欢这样:
JobeetCategory:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255),notnull: true,unique: true }
JobeetCategorya:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255),unique: true }
JobeetJob:
actAs: { Timestampable: ~ }
columns:
category_id: { type: integer,notnull: true }
categorya_id: { type: integer,notnull: true }
type: { type: string(255) }
(...)
expires_at: { type: timestamp,notnull: true }
relations:
JobeetCategory: { onDelete: CASCADE,local: category_id,foreign: id,foreignAlias: JobeetJobs }
JobeetCategorya: { onDelete: CASCADE,local: categorya_id,foreignAlias: JobeetJobsa }
当我做:
PHP的Symfony的教义:建立-所有
-并加载
我有错误
sqlSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败(jobeet
.jobeet_job
,CONSTRAINTjobeet_job_categorya_id_jobeet_categorya_id
外键(categorya_id
)引用jobeet_categorya
(id
)在删除级联上)
为什么?
解决方法
我认为问题是由该命令的“ 7”部分引起的。当您以违反其外键关系的顺序将固定装置加载到表中时(即将子数据放在父数据之前),通常会出现该错误。
如果确实是您的问题,那么您可以在此处找到有关如何解决此问题的多个线程...基本上,只需先构建(
build --all
),然后分批加载夹具,以便它们尊重外键关系。