目标:当用户被删除时,UserCategory中用户的所有条目也应该被删除。Symfony 1.4解决完整性约束违规所需的原则架构帮助
的模式:
User:
actAs: { Timestampable: ~ }
columns:
first_name: { type: string(255) }
name: { type: string(255) }
company: { type: string(255) }
email: { type: string(255) }
phone: { type: string(255) }
language_id: { type: integer, notnull: true }
token: { type: string(255) }
activated: { type: boolean, default: false }
relations:
Categories:
class: Category
local: user_id
foreign: category_id
refClass: UserCategory
type: many
UserCategory:
actAs: { Timestampable: ~ }
columns:
user_id: { type: integer, notnull: true }
category_id: { type: integer, notnull: true }
Category:
actAs: { Timestampable: ~ }
columns:
language_id: { type: integer, notnull: true }
name: { type: string(255), notnull: true, unique: false }
revision: { type: integer, notnull: false }
icon: { type: string(255) }
relations:
User:
class: User
local: category_id
foreign: user_id
refClass: UserCategory
type: many
会发生什么:
SQLSTATE [23000]:完整性约束违规:1451无法删除或更新父行:外键约束失败(
testtable
user_category
,CONSTRAINTuser_category_user_id_user_id
FOREIGN KEY(user_id
)参考文献user
(id
))
您正在使用数据库级联,这是最快的解决方案。 +1 – greg0ire