Цель: при удалении пользователя все записи для пользователя в пользовательской категории также должны быть удалены.
Схема:
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
, CONSTRAINT user_category_user_id_user_id
FOREIGN KEY (user_id
) ССЫЛКИ user
(id
))