jointures de plusieurs tables Doctrine 2 / symfony avec une querybuilder
Bonjour,
Je me mets au jointures Doctrine 2 et a symfony et j'ai un problème.
J'ai trois Tables: Articles, Souscategories, Catégories.
Une categorie a n sous categories et une soustegorie a n articles.
Les relations: Article Many-to-one Souscategories, Souscategories Many-to-one Categories.
Je veux récupérer les Articles par Categories et/ou where catégories='1' par exemple.
Après plusieurs essais et jours de test je récupère un tableau vide pas d'erreur.
ArticleRepository:
Code:
1 2 3 4 5 6 7 8
| public function findAllArticleByCategories($categories) {
$qb = $this->createQueryBuilder('a')
->Join('a.souscategories', 's')
->Join('s.categories', 'c')
->andwhere('c.categories =:categories')
->setParameter('categories', $categories);
return $qb->getQuery()->getResult(); |
Article Controller:
Code:
1 2 3 4 5
| public function categorieArticleAction($categories) {
$em = $this->getDoctrine()->getManager();
$article = $em->getRepository('EncoursBundle:Article')->findAllArticleByCategories($categories);
return $this->render('EncoursBundle:Default:article/module/articlepc.html.twig', array('article' => $article));
} |
Ma vue:
Code:
1 2 3 4 5
| {% for articles in article %}
<h3>titre de l'article</h3>
<a>{{ articles.titre }}</a></br>
</li>
{% endfor %} |
La doc symfony n'est pas trop documenté, mais surtout sur les forums je n'ai pas trouvé d'exemple avec les relations dont j'ai besoins.
Merci d’éclairer ma lanterne, il n'y a plus trop de pétrole dedans.