我正在使用sfDoctrineGuardPlugin
来管理我的Symfony应用程序中的用户,组和身份验证。
现在我想为sfGuardUser
模型添加一个头像。我怎样才能做到这一点?什么是最好的方法?我在互联网上看到过几种方式,但我不想弄乱我的代码。
谢谢!
答案 0 :(得分:2)
有两种方式。
如果您计划在用户模型中包含大量信息,则第二个是最推荐的。但是如果你只想添加一个头像字段,那么扩展sfGuardUser会更方便。
为此,请将新的sfGuardUser.schema.yml放入/ config /文件夹中。它将用于代替插件。
要创建“个人资料”,没有什么特别要知道的:
Profile:
tableName: profile
columns:
sf_guard_user_id: integer
firstname: varchar(100)
phone: varchar(15)
relations:
sfGuardUser: { class: sfGuardUser, onDelete: CASCADE, local: sf_guard_user_id, foreign: id, foreignType: one }
答案 1 :(得分:2)
我首选的方法不需要更改数据库:
sfWidgetFormInputFileEditable
和sfValidatorFile
添加到sfGuardUserForm
。根据需要配置小部件和验证器(删除允许的,图像类型,大小等)sfGuardUser
添加一个方法,该方法根据用户的不可变属性生成唯一路径(例如,对用户ID进行哈希处理)。