Je viens vers vous car j'ai un soucis avec une de mes requetes, je n'arrive pas tout a fait a faire ce que je veut :s
En fait je cherche a lister des produits qui sont dans une sous-catégorie (qui appartient a une catégorie), et qui sont proposer par des vendeur
J'ai 5 entité:
une avec les produits
une avec les catégories
une avec les sous-catégorie
une avec les vendeurs
et une qui match les produits detenu par les vendeurs
L'objectif est de partir d'une catégorie et de récupéré les sous-catégorie liée, avec les produits détenu par un vendeur défini.
J'ai fait une requete qui fonctionne est me donne exactement ce que je veut :
On est dans le repository SousCat, $id correspond a l'id de la category, $vendeur correspond l'id du vendeur
Code : Tout sélectionner
public function findSouscatForCategory($id,$vendeur)
{
$qb = $this->createQueryBuilder('a')
->leftJoin('a.category', 'd')
->leftJoin('a.products', 'p')
->leftJoin('p.store', 's')
->addSelect('d')
->addSelect('p')
->addSelect('s')
->where('a.category = :id')
->setParameter('id', $id)
->andWhere('s.vendeur = :vendeur')
->setParameter('vendeur', $vendeur)
;
return $qb->getQuery()->getResult();
}Cette requete me donne tout ce que je veut, ces a dire tous les produits pour un vendeur donner et une categorie donnée rangé par sous-categorie.
Mais le probléme que je rencontre, ces quand il n'y a pas d'article qui matche avec le vendeur... quand ces le cas sa me retourne un résultat vide, ce qui est normal... mais j'aurais voulu quand meme pouvoir lister les sous-catgorie en mettant un message comme quoi aucun produit n'a été trouver, mais vu que ma requete me renvois un tableau vide, je n'est meme pas accés au sous-catégorie :s
De la meme facon, si il n'y a pas de produit dans certaine sous-categorie d'une catégorie, les sous-catégories avec produit s'affiche bien, par contre celle qui n'ont pas de produit trouvé ne s'affiche du coup pas du tous :s
Vous aurez comprit que meme si sa marche ce n'est pas le comportement que je recherche, je voudrait que meme si un vendeur n'a aucun produit dans une sous-catégorie la catégorie s'affiche, et la j'ajouterais un message comme quoi il n'y a pas de produits.
En fait je voudrais que si le:
Code : Tout sélectionner
->andWhere('s.vendeur = :vendeur')Je cherche depuis un moment comment faire, mais je ne trouve rien de concluant, j'espere que vous arriverez a me mettre sur la piste, je suis sur que sa ne doit pas etre bien compliquer, mais la je n'arrive plus a y voir clair :s
J'espere que vous aurez comprit mon soucis et que vous pourrez me donner un coup de pouce
Merci d'avance