Tidak dapat menghitung kueri yang memilih dua komponen FROM, tidak dapat membuat perbedaan ketika saya mencoba memecahkan kueri saya untuk menambahkan pernyataan kondisional symfony 2 .8

tolong bantu saya mendapatkan kesalahan ini

Tidak dapat menghitung kueri yang memilih dua komponen FROM, tidak dapat membuat perbedaan ketika saya mencoba memecah kueri saya untuk menambahkan pernyataan kondisional

saya telah membaca KnpPaginatorBundle/Resources/doc/manual_counting.md ini dan saya sampai di sini

    public function findCategoryProduct($category,$minPrice=null,$maxPrice=null,$gender=null)
              {
                  $countgb = $this->createQueryBuilder('1')
              ->select('count(p)')
                  ->from('AppBundle:Product','p')
                 ->join('p.group', 'g')
                ->join('g.category', 'c')
               ->where('c = :category')
               ->andWhere('p.visible >= :true')
               ->setParameter('category', $category)
              ->setParameter('true', 1);
               $count = $countgb->getQuery()->getSingleScalarResult();
              $query = $this->createQueryBuilder('1')
            ->select('p')
            ->from('AppBundle:Product','p')
            ->join('p.group', 'g')
            ->join('g.category', 'c')
            ->where('c = :category')
            ->andWhere('p.visible >= :true')
            ->setParameter('category', $category)
            ->setParameter('true', 1);
        $query ->getQuery()
            ->setHint('knp_paginator.count', $count);
        return $query;
    }

$paginator  = $this->get('knp_paginator');
        $pagination = $paginator->paginate($query,$request->query->getInt('page', 1),10,array('distinct' => false));

dan saya masih mendapatkan kesalahan


person Akoh Victor Gutz    schedule 31.05.2016    source sumber


Jawaban (1)


Hai, saya menyarankan Anda untuk menggunakan subquery seperti: $query = $em->createQuery('SELECT u.id FROM CmsUser u WHERE EXISTS (SELECT p.phonenumber FROM CmsPhonenumber p WHERE p.user = u.id)'); $ids = $query->getResult();

atau dengan expr: $query->andWhere($query->expr()->notIn('c.id', $subquery->getDQL())); beberapa dokumentasi di sini

person jandreu    schedule 01.06.2016