Bonjour,
Le titre n'est pas bien explicite mais je ne savais pas trop comment nommer mon problème.
J'ai trois entités principales : TypeA et TypeB reliées en ManyToOne à User.
J'ai deux entités "intermédiaires" : UserTypeA et UserTypeB, qui contiennent les attributs des relations ManyToOne (par exemple, la note qu'un utilisateur a attribué à un produit de type A). Ces deux entités et leur repository sont identiques (sauf que l'une est reliée à TypeA et l'autre à TypeB).
Le problème est que je n'arrive pas à condenser mon code dans mon controller :
Le reste du code est identique (en remplaçant juste TypeA par TypeB). J'ai donc tout un tas de routes et tout un tas de code copier/coller dans mon controller. Y aurait-il un moyen d'éviter ça ? De même pour mes entités intermédiaires et leur repository, c'est juste un gros copier/coller, est-ce possible condenser ça ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public function typea_noterAction(TypeA $typea) { $user = $this->getUser(); $userTypeA = $this->getDoctrine() ->getManager() ->getRepository('GamUserBundle:UserTypeA') ->getNote($user, $typea); //Reste du code } public function typeb_noterAction(TypeB $typeb) { $user = $this->getUser(); $userTypeB = $this->getDoctrine() ->getManager() ->getRepository('GamUserBundle:UserTypeB') ->getNote($user, $typeb); //Reste du code }