Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'ai créé une requette pour filter mes utilisateurs, tous les filtres fonctionnent sauf le filtre de nombre de commande, qui me renvoie une erreur

public function findAllVisibleQeury(FilterUser $filter)
    {

        $query= $this->createQueryBuilder('u')
        ->leftJoin('u.commandes', 'cmd')
        ->leftJoin('u.zoneLivraison', 'zone')
        ->addSelect('cmd')
        ->addSelect('zone')
        ->addSelect('COUNT(cmd.id) as nbCmd')
        ->GroupBy('u.id')
        ->OrderBy('u.id');

        if(!is_null($filter->getDateDebut()) && !is_null($filter->getDateFin()) && $filter->getDateFin() > $filter->getDateDebut()){
            $query=$query->Where('cmd.dateCommande BETWEEN :dateDebut AND :dateFin')
                         ->setParameter('dateDebut', $filter->getDateDebut())
                         ->setParameter('dateFin', $filter->getDateFin());

        }elseif (!is_null ($filter->getModePaiement())){J'ai créé une requête pour filter mes utilisateurs, tous les filtres fonctionnent sauf le filtre de nombre de commandes, qui me renvoie une erreur
            $query=$query->andWhere('cmd.modePaiement = :modePaiement')
                ->setParameter('modePaiement', $filter->getModePaiement());

        }elseif (!is_null($filter->getZoneLivraison())){
            $query=$query->andWhere('zone.nom = :nom')
                ->setParameter('nom', $filter->getZoneLivraison());

        }elseif (!is_null($filter->getNbCommande())){

        $query=$query->andWhere('nbCmd <= :nbCmd')
        ->setParameter('nbCmd', $filter->getNbCommande());

}
        return $query
            ->getQuery()
            ->getResult();

    }

Ce que je veux

Je veux supprimer l'erreur et faire fonctionner mon formulaire de filtre

Ce que j'obtiens

J'obtiens cette erreur quand je remplis le champ commandes de mon formulaire et j'essaie de submiter

An exception occurred while executing 'SELECT COUNT(c0_.id) AS sclr0, f1.username AS username1, f1.username_canonical AS username_canonical2, f1.email AS email3, f1.email_canonical AS email_cano ............
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sclr_0' in 'where clause'

Merci pour l'aide

Aucune réponse