Связь sfDoctrineGuardPlugin с sfDoctrineApplyPlugin (удаление и создание пользователей)
Я использую Symfony 1.4.11. Я использую sfDoctrineGuardPlugin и sfDoctrineApplyPlugin.All работает нормально, но... В моем бэкэнде у меня есть список пользователей, где я могу управлять пользователями. Когда я создаю нового пользователя из бэкенда, его профиль создается только в таблице sf_guard_user или когда я удаляю пользователя из бэкэнд, он удалил свой профиль только из таблицы sf_guard_user, но не удалил его профиль из таблицы sf_guard_user_profile... Так как это исправить? Может, я что-то не так сделал в настройке обоих плагинов? Спасибо!
sfGuardUserProfile:
connection: doctrine
tableName: sf_guard_user_profile
columns:
id: { type: integer(4), primary: true, autoincrement: true }
user_id: { type: integer(4), notnull: true , primary: false }
salutation: { type: string(10), notnull: true }
first_name: { type: string(30), notnull: true }
last_name: { type: string(30), notnull: true }
country: { type: string(255), notnull: true }
postcode: { type: string(10) , notnull: true }
city: { type: string(255), notnull: true }
address: { type: string() , notnull: true }
phone: { type: string(50) }
email: { type: string(255), notnull: true }
validate: { type: string(17) }
banned: { type: boolean, default: 0 }
payed_until: { type: datetime, notnull: true}
relations:
User:
class: sfGuardUser
foreign: id
local: user_id
type: one
onDelete: cascade
foreignType: one
foreignAlias: Profile
2 ответа
Просто измените мою базу данных с MyISAM на INNODB, и все работает отлично!
Насчет создания нового пользователя - я не уверен, есть ли такая функция в обоих плагинах. (По крайней мере, я не знаю об этом).
По поводу удаления пользовательских и связанных данных из таблицы sf_guard_user_profile - я думаю, что, скорее всего, есть некоторая проблема с определением отношений. Снова проверьте файл readme sfDoctrineApplyPlugin в разделе установки, где определена таблица sf_guard_user_profile. Вам нужно иметь onDelete: каскад для отношения пользователя.
И в конце проверьте, был ли создан правильный sql и применен к схеме базы данных.
С уважением.