Показать товары по категориям и подкатегориям - PullRequest
0 голосов
/ 17 апреля 2019

Я могу отображать товары по подкатегориям, но не по их начальной категории, например:

Категория 1: Подкатегория 1: Продукт 1

Но если я не хочу отображать по категориям, например:

Категория 1: Товар не показан

Одна категория получила один идентификатор и один id_parent:

Например:

Epicerie: id (1) | Бисквит: id (10), id_parent (1)

In my controller
        if ($categorie != null)
            $findProduits = $this->repository->byCategorie($categorie);
        else
            $findProduits = $this->repository->findBy(array('etat' => 1));
//The repository
  public function byCategorie($categorie)
    {
        $qb = $this->createQueryBuilder('u')
            ->select('u')
            ->where('u.id_categorie = :id_categorie')
            ->andWhere('u.etat = 1')
            ->orderBy('u.id')
            ->setParameter('id_categorie', $categorie);
        return $qb->getQuery()->getResult();
    }

//Entity categorie

class Categorie
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    private $nom;

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\Produit", mappedBy="id_categorie")
     */
    private $id_produit;

    /**
     * @Gedmo\TreeParent
     * @ORM\ManyToOne(targetEntity="App\Entity\Categorie", inversedBy="children")
     * @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE")
     */
    private $id_parent;


    /**
     * @Gedmo\TreeLeft
     * @ORM\Column(type="integer",nullable=true)
     */
    private $lft;

    /**
     * @Gedmo\TreeLevel
     * @ORM\Column(type="integer",nullable=true)
     */
    private $lvl;

    /**
     * @Gedmo\TreeRight
     * @ORM\Column(type="integer",nullable=true)
     */
    private $rgt;

    /**
     * @Gedmo\TreeRoot
     * @ORM\ManyToOne(targetEntity="App\Entity\Categorie")
     * @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE")
     */
    private $root;

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\Categorie", mappedBy="id_parent")
     * @ORM\OrderBy({"lft" = "ASC"})
     */
    private $children;




//Entity produit

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Categorie", inversedBy="id_produit")
     */
    private $id_categorie;

Я спрашиваю, как я могу отображать товары по категориям, а не только по подкатегориям

Спасибо

...