我使用symfony 1.4.11与Doctrine后端sfGuardUser模块
我在后端有sfGuardUser模块。我有sfGuardUserProfile表。
sfGuardUserProfile:
connection: doctrine
tableName: sf_guard_user_profile
columns:
id: { type: integer(4), primary: true, autoincrement: true }
user_id: { type: integer(4), notnull: true }
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
onUpdate: cascade
foreignType: one
foreignAlias: Profile
indexes:
user_id_unique:
fields: [user_id]
type: unique
SfGuardUser表:
GuardUser:
actAs: [Timestampable]
columns:
id:
type: integer(4)
primary: true
autoincrement: true
username:
type: string(128)
notnull: true
unique: true
algorithm:
type: string(128)
default: sha1
notnull: true
salt: string(128)
password: string(128)
is_active:
type: boolean
default: 1
is_super_admin:
type: boolean
default: false
last_login:
type: timestamp
indexes:
is_active_idx:
fields: [is_active]
relations:
groups:
class: sfGuardGroup
local: user_id
foreign: group_id
refClass: sfGuardUserGroup
foreignAlias: Users
permissions:
class: sfGuardPermission
local: user_id
foreign: permission_id
refClass: sfGuardUserPermission
foreignAlias: Users
我旁边sfGuardUserForm:
public function configure()
{
parent::configure();
$profileForm = new sfGuardUserProfileForm($this->object->Profile);
unset($profileForm['user_id'],$profileForm['banned'],$profileForm['validate'],$profileForm['payed_until']);
$profileForm->widgetSchema['salutation'] = new weWidgetSalutationI18n();
$profileForm->widgetSchema['country'] = new sfWidgetFormI18nChoiceCountry();
$profileForm->setDefault('country', 'DE');
$this->embedForm('Profile', $profileForm);
}
所以,当我添加新用户从后端,在我sfGuardUserProfile表USER_ID = 0 ..
谢谢,但它是行不通的(我可以添加新的用户,但在我的形式我有:'注意:未定义的属性:sfGuardUserAdminForm :: $ id在' – denys281 2011-06-07 17:46:21
我的错,更正了答案。 – Dziamid 2011-06-08 08:57:22
谢谢!但它不工作...我找到问题的根源....我使用sfSocialPlugin,并且我编辑'lib/model/doctrine/sfDoctrineGuardPlugin/sfGuardUser.php'并设置类扩展 'sfSocialGuardUser'而不是'PluginsfGuardUser'。对'sfGuardUserTable'做同样的事情,使它扩展'sfSocialGuardUserTable' ...当我默认情况下它都可以......嗯...... – denys281 2011-06-08 09:21:58