Я думаю, что ваши идентификаторы для ваших многих-многих отношений испорчены, предполагая, что симфония использует Doctrine 1.2.2.Попробуйте это:
Contact:
actAs: [Timestampable,SoftDelete]
columns:
first_name: { type: string(255), notnull: true }
second_name: { type: string(255), notnull: true }
relations:
Forums:
refClass: ContactForum
local: contact_id
foreign: forum_id
cascade: [delete]
Forum:
actAs: [Timestampable,SoftDelete]
columns:
name: { type: string(255), notnull: true }
relations:
Contacts:
refClass: ContactForum
local: forum_id
foreign: contact_id
cascade: [delete]
ContactForum:
actAs: [Timestampable]
columns:
contact_id: { type: integer, primary: true }
forum_id: { type: integer, primary: true }
В отношениях, когда указывается класс с refClass, local
и foreign
означают «столбец в таблице этого другого класса, который представляет меня» и «столбец в этомдругие таблицы классов, которые представляют другие ", соответственно.
Редактировать: Я не уверен, что ваше определение для отношения форумов в разделе Контакт также является правильным.Предполагая, что вам просто нужно отношение «многие ко многим», оно может быть удалено.
Двойное редактирование: Смотри.Вот вся схема, которая вам нужна для правильного функционирования и каскадного отношения «многие ко многим».Вам не нужны две взаимосвязи, определенные для правильного каскадного удаления.