我正在尝试运行查询。我有两个多对多的实体。

我对下面这两个实体的查询

  $query = $user->createQueryBuilder('u')
              ->join('u.products', ua')
              ->Where('ua.id In (:uproducts)')
              ->setParameters(array(
                  'uproducts' => $userproducts ))
              ->getQuery();

              $query = $user->createQueryBuilder('u')
                  ->join('u.price,'up')
                  ->Where('up.id In (:uprice)')
                  ->setParameters(array(
                      'uprice'=>$userprice))
                  ->getQuery();


如果我在两个这样的查询中做到这一点,那就可以了。但我想在1选择查询。有什么办法可以做到吗?

提前致谢。

最佳答案

尝试这个 :

$query = $user->createQueryBuilder('u')
          ->join('u.products', 'ua')
          ->join('u.price,'up')
          ->Where('ua.id In :uproducts')
          ->andWhere('up.id In :uprice')
          ->setParameters(
             array (
                'uproducts' => $userproducts,
                'uprice'=>$userprice
              )
            )
          ->getQuery();

10-08 01:08