ManytoMany实体选择查询原则

时间:2016-04-21 14:20:00

标签: php mysql symfony doctrine entities

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

我对这两个实体的查询

  $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个选择查询中。有什么想法我能做到吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

$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();