Bonjour à tous,

J'ai une entité produit et une entité catégorie. Les deux sont liées par une relation manyToMany donc une table produits_categories a été créée. Jusque ici tout va bien.

Maintenant, j'ai un menu contenant mes catégories et des sections. Section est un champ de l'entité catégorie => il catégorise les catégories ( ex : 3 sections : "accessories, print, collection", print contient les catégories "wtf, bigdeal, high".. ). Quand je clique sur un des onglets mon url se met à jour sous cette forme : "products/section/categorie". Ceci marche.

Je veux avoir une seule action dans mon controller qui me permet de trier les produits à afficher en fonction de la catégorie sur laquelle j'ai cliqué.

Pour l'instant mon action ressemble à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
    /**
     * @Route("/{section}/{slug}", name="categorie")
     * @param $section
     * @param $slug
     * @param $id
     * @return Response
     */
    public function categorieAction($section, $slug, $id)
    {
        $em = $this->getDoctrine()->getManager();
 
        $section = $em->getRepository("AppBundle:Categorie")->findBySection($section);
        $categorie = $em->getRepository("AppBundle:Categorie")->findBySlug($slug);
        $product = $em->getRepository("AppBundle:Product")->findByCategories($id);
 
 
        return $this->render('default/products/products.html.twig',
            array('categorie' => $categorie, 'section' => $section, 'product' => $product));
    }
}
Est-ce que quelqu'un pourrait m'aider ? J'ai vu pas mal de topic parler de queryBuilder, est-ce que je suis obligé de passer par là ?

Merci,

Max