我使用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
答案 0 :(得分:1)
只需将我的数据库从MyISAM更改为INNODB,一切正常!
答案 1 :(得分:0)
关于创建新用户 - 我不确定两个插件中是否都有这样的功能。 (至少我不知道)。
关于从 sf_guard_user_profile 表中删除用户和相关数据 - 我认为关系定义很可能存在一些问题。在安装部分再次检查 sfDoctrineApplyPlugin 自述文件,其中定义了 sf_guard_user_profile 表。您需要为User关系设置 onDelete:cascade 。
最后检查是否生成了适当的sql并将其应用于数据库模式。
问候。