[Symfony2] Jointure double niveau
Bonjour, je possède un formulaire de recherche permettant de trouver des artisans en fonction d'une catégorie.
Voici mes Entitées:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
class User extends BaseUser
{
...
/**
* @ORM\OneToOne(targetEntity="Btp\UserProBundle\Entity\UserPro", cascade={"remove", "persist"})
*/
protected $user_pro;
... |
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?php
class UserPro
{
...
/**
* @ORM\ManyToOne(targetEntity="Btp\UserProBundle\Entity\Categories")
*/
protected $categorie_1;
... |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
class Categories
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
... |
J'ai donc un UserRepository contenant une methode findUserProByCategorie, qui en fonction de la catégorie choisie, retourne la liste des UserPro possédant cette catégorie.
J'aimerais exécuter l’équivalent DQL de cette requette SQL :
Code:
1 2 3 4
| select * from User
inner join UserPro on User.user_pro_id = UserPro.id
inner join Categories on UserPro.categorie_1_id = Categories.id
where Categories.id=XXXX |
J'ai l'impression qu'il faut que j'utilise une relation bidirectionnel, mais c'est un peu flou.
Merci :)