我正在使用Symfony2开发市场应用程序
我有两个用户角色:buyer
和seller
。
“默认”角色是buyer
,因为每个注册的人都可以将市场作为买家。
我目前正在使用FOSUserBundle
进行用户管理,但是当我想要实现应用的seller
部分时,我最近陷入困境。
我需要提供三种“注册”服务:
buyer
,这是我使用FOSUserBundle设置的主要注册表单seller
,然后我需要另一个包含更多必填字段的注册表单,但无论如何,角色为seller
的用户也将拥有buyer
角色所有用户的基本角色。buyer
的用户决定将其帐户升级为seller
,只会询问其他字段由于每个注册用户都有buyer
个角色,我的课程就像:
class User extends BaseUser implements UserInterface, \Serializable // Buyer
{
// ...
/**
* @ORM\OneToOne(targetEntity="Seller",inversedBy="user")
* @ORR\JoinColumn(name="seller_id",referencedColumn="id")
**/
private $seller;
}
class Seller
{
// ...
}
为了能够处理多个注册表单,我最近尝试使用PUGXMultiUserBundle
,但我不知道如何使用我的代码。
我正在使用OneToOne关系来链接buyer
和seller
,但PUGXMultiUserBundle需要使用带有鉴别器的继承。
这不是问题,我可以改变我的代码并且已经尝试过这样做但是让我感到困惑的是User
类必须是抽象的。
根据我的理解,我的课程必须如下:
User extends BaseUser (abstract)
Buyer extends User
Seller extends User
但我有:
User extends BaseUser (semantically my Buyer class)
Seller extends User
我该怎么办?如何重新组织我的类层次结构? PUGXMultiUserBundle是否适合我想要的解决方案?
由于