2014-11-05 94 views
2

我有3个“主要”实体:类型A的TypeB通过多对一关系链接到用户如何减少代码的重复中的Symfony2

我有2个“次要”的实体:UserTypeAUserTypeB,其含有多对一关系的属性(例如,评论的用户已经分配到类型A的产物)。这两个实体及其存储库是相似的(除了一个连接到TypeA,另一个连接到TypeB)。

这里是我的代码的一部分:

public function typea_commentAction(TypeA $typea) 
{ 
    $user = $this->getUser(); 
    $userTypeA = $this->getDoctrine() 
         ->getManager() 
         ->getRepository('GamUserBundle:UserTypeA') 
         ->getComment($user, $typea); 

    //... 
} 

public function typeb_commentAction(TypeB $typeb) 
{ 
    $user = $this->getUser(); 
    $userTypeB = $this->getDoctrine() 
         ->getManager() 
         ->getRepository('GamUserBundle:UserTypeB') 
         ->getComment($user, $typeb); 

    //... 
} 

正如你所看到的,我需要重复每个动作以使它们与每个实体的工作。有什么方法可以将这些操作结合起来吗?关于次要实体及其存储库的同样问题。

谢谢。

回答

3

创建一个执行逻辑的服务类,并将用户类型作为参数。

+0

谢谢。这正是我需要的。 – blugeen 2014-11-06 08:28:29