Php 如何在学说中建立关系
我通过Jobeet学习符号和教义。我想在JobeetJob中添加关系。 这是原创的: 我喜欢这样:Php 如何在学说中建立关系,php,symfony1,doctrine,relational-database,symfony-1.4,Php,Symfony1,Doctrine,Relational Database,Symfony 1.4,我通过Jobeet学习符号和教义。我想在JobeetJob中添加关系。 这是原创的: 我喜欢这样: JobeetCategory: actAs: { Timestampable: ~ } columns: name: { type: string(255), notnull: true, unique: true } JobeetCategorya: actAs: { Timestampable: ~ } columns: name: { type: stri
JobeetCategory:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255), notnull: true, unique: true }
JobeetCategorya:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255), notnull: true, 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, foreign: id, foreignAlias: JobeetJobsa }
当我这样做时:
php symfony原则:构建——全部
--装载
我有错误
SQLSTATE[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败(jobeet
jobeet\u job
,约束jobeet\u job\u categorya\u id\u jobeet\u id
外键(categorya\u id
)引用jobeet\u categorya
(id
)删除时(级联)
为什么?我认为问题是由该命令的
和加载部分引起的。当您以违反其外键关系(即,将子数据放在父数据之前)的顺序将装置加载到表中时,经常会出现此错误
如果这确实是你的问题,你可以在这里找到几个关于如何解决这个问题的线程。。。基本上,只需先构建(build--all
),然后分批加载固定装置,以使它们尊重外键关系。Patrick,你应该将你的标题表述为一个问题,因为Jobeet是symfony/doctrine,也把它放在那里。这有助于其他人发现他们可能回答的问题。只是一个建议:如何在条令中创建一个关系?
当你遇到错误时,你会怎么做?我会:php symfony条令:build--all--load将其添加到你的问题中,比如:当我做条令:build--all--and load
时,我会得到这个错误:(你的错误消息已经在问题中了,所以把它放在中间)好的:)你知道问题的解决方法吗?