#symfony-1.4 #sfdoctrineguard #sfguard #symfony-plugins
#symfony-1.4 #sfdoctrineguard #sfguard #symfony-плагины
Вопрос:
Я использую symfony 1.4.11. Я использую sfDoctrineGuardPlugin и sfDoctrineApplyPlugin.Все работает нормально, но… В моем бэкэнде у меня есть список пользователей, где я могу управлять пользователями.Когда я создаю нового пользователя из серверной части, его профиль создается только в таблице 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
Ответ №1:
Просто измените мою базу данных с MyISAM на INNODB, и все будет работать нормально!
Ответ №2:
О создании нового пользователя — я не уверен, есть ли такая функция в обоих плагинах в первую очередь. (По крайней мере, я об этом не знаю).
По поводу удаления пользователя и связанных с ним данных из таблицы sf_guard_user_profile — я думаю, что, скорее всего, есть какая-то проблема с определением отношений. Проверьте sfDoctrineApplyPlugin readme еще раз в разделе установки, где определена таблица sf_guard_user_profile. Для пользовательского отношения необходимо установить OnDelete: cascade.
И в конце проверьте, был ли сгенерирован правильный sql и применен ли он к схеме базы данных.
С уважением.
Комментарии:
1. Я добавляю свою схему… Я пытаюсь использовать этот метод, но он добавляет все данные, но user_id = 0 ((
2. Пожалуйста, объясните, чего вы пытаетесь достичь? Поскольку функциональность sfDoctrineApplyPlugin и модуля Profile , описанного по ссылке в вашем комментарии, отличается: — sfDoctrineApplyPlugin позволяет пользователям сайта создавать / запрашивать новые учетные записи. — Модель профиля создается и связана с sfDoctrineGuardPlugin для включения некоторой дополнительной информации.
3. @ Mihail Dimitrov У меня есть sfDoctrineApplyPlugin , пользователи могут регистрироваться на сайте, у каждого из них есть собственный профиль. sfDoctrineApplyPlugin используется для таблицы учетных записей sf_guard_user_profile , но я также хочу иметь возможность добавлять / редактировать учетные записи пользователей из серверной части. И этот метод работает, я могу редактировать информацию профиля пользователя и создавать новых пользователей. Теперь у меня две проблемы … 1. Когда я добавляю пользователя из серверной части, user_id = 0. 2. Когда я удаляю пользователя из серверной части, его профиль в sf_guard_user_profile не удаляется.