Я могу отображать товары по подкатегориям, но не по их начальной категории, например:
Категория 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;
Я спрашиваю, как я могу отображать товары по категориям, а не только по подкатегориям
Спасибо