将配置文件附加到用户实体用户界面

时间:2013-06-13 17:28:38

标签: php symfony

我为句柄登录/注销/注册(security)构建我的自定义捆绑包工作正常,我有三个捆绑包,它们都使用相同的安全捆绑包但是它们有一个附加到用户的“配置文件”。

这是将配置文件附加到用户而不影响安全捆绑包的最佳方式,或者至少仅针对需要的捆绑包。 symfony中是否有任何界面配置文件?

存在某种方式与Doctrine2建立关系而不在数据库中存储。在没有商店的情况下在个人资料和用户之间建立关系OneToOne(显然,个人资料和用户有检查此关系但没有外键的数据)

更新

我正在测试继承,但我不想要两个表我只需要一个,如果我把相同的表名称我得到一个冲突我只需要一个用户表。如果我删除实体并添加MappedSuperclass适用于捆绑包但停止为其他人工作,我将需要扩展每个捆绑的用户(我不想要这个)如何修复

1 个答案:

答案 0 :(得分:0)

如果您不想拥有两个表但仍使用继承,则可以使用single table inheritance

示例用户:

/**
 * @ORM\Entity
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"user" = "User", "user_with_profile" = "ExtendedUser"})
 */
class User
{
    // ...
}

示例扩展用户:

/**
 * @ORM\Entity
 */
class ExtendedUser extends User
{
    // ...
}