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


Attach a profile to User Entity UserInterface

我构建了我的自定义包来处理登录/注销/注册(安全)工作得很好,我有三个包,它们都使用相同的安全包,但其中有一个"配置文件"附加到用户。

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

存在与Doctrine2建立关系而不存储在数据库中的方法。在profile和User之间建立一个没有存储的关系OneToOne(显然profile和User有数据来检查这个关系,但是没有外键)

更新

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

如果你不想有两个表,但仍然使用继承,你可以使用单表继承。

示例用户:

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

扩展示例User:

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