Symfony2:多个实体,单一提供商?

时间:2014-05-02 13:27:34

标签: entity-framework symfony

我正在编写一个小型系统,您有两种用户:买家和卖家。当用户注册时,它可以是买方或卖方。但是,我不确定如何在框架上设计它。

我是否应该拥有User实体,该实体实现UserInterface且该实体与BuyerSeller的OneToOne关系?或者BuyerSeller应该实施UserInterface,因此有多个提供商?

ps。买方和卖方有不同的栏目和不同的关系。

2 个答案:

答案 0 :(得分:0)

我不会把它分成2个实体。只需拥有一个用户实体并使用角色来区分卖家和买家。最后,唯一的区别是他们的权限,这些权限全部由安全系统处理。

答案 1 :(得分:0)

没有必要为此设置2个实体。

只需使用User实体,默认情况下假设所有用户都是买家(这是市场中最常见的情况),但只有少数用户是卖家,所以我只想添加一个以这种方式向您的实体提供财产:

/**
 *@ORM\Column(name="isSeller", type="boolean", options={"default"=0})
 **/
 private $isSeller;

 public function setIsSeller($isSeller) {
     $this->isSeller = $isSeller;
     return $this;
  }

 public function getIsSeller() {
     return $this->isSeller;
 }

只要用户选择成为卖家,只需将该属性设置为true即可。