Symfony 对此场景建模的最佳实践

Symfony 对此场景建模的最佳实践,symfony,design-patterns,doctrine,fosuserbundle,Symfony,Design Patterns,Doctrine,Fosuserbundle,我有一个类,它从FOSUserBundle扩展了fos_用户类。 每个用户都有一些角色。 如果用户具有角色“BASIC”,则他与实体条目有一个OneToMany关系(一个BASIC用户有多个条目)。 如果用户具有角色“MASTER”,则他与实体House有许多关系(许多MASTER用户具有许多House) 我这样做: /** * @ORM\Entity */ class User extends BaseUser { /** * @ORM\Id * @ORM\Co

我有一个类,它从FOSUserBundle扩展了fos_用户类。 每个用户都有一些角色。 如果用户具有角色“BASIC”,则他与实体条目有一个OneToMany关系(一个BASIC用户有多个条目)。 如果用户具有角色“MASTER”,则他与实体House有许多关系(许多MASTER用户具有许多House)

我这样做:

/**
 * @ORM\Entity
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\ManyToMany(targetEntity="House", inversedBy="users")
     */
    protected $houses;

    /**
     * @ORM\OneToMany(targetEntity="Entry", mappedBy="user")
     */
    protected $entries;

}  
但听起来不太好


这个场景是否有设计模式

正如@lxg所写,可能的模式是单表继承
您可以看一个例子。

您的问题是…?问题是重构,如“此场景是否有设计模式?”。可能的模式是单表继承。当你的问题被重新打开,同时你没有找到解决方案时,我可以给你一个例子。一个用户可以同时拥有这两个角色吗?如果是,单表继承不是答案。