Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2/Doctrine2-如何使用QueryBuilder转换此SQL请求?_Symfony_Doctrine Orm_Query Builder - Fatal编程技术网

Symfony2/Doctrine2-如何使用QueryBuilder转换此SQL请求?

Symfony2/Doctrine2-如何使用QueryBuilder转换此SQL请求?,symfony,doctrine-orm,query-builder,Symfony,Doctrine Orm,Query Builder,我有一个关系:User->[OneToMany]->Profile我没有测试它,但我认为这应该可以工作 $qb = $this->conn->createQueryBuilder(); $qb->select('g.id'); $qb->from('Group', 'g'); $qb->innerJoin('g', 'Profile', 'p', 'g.id != p.group_id'); $qb->where('p.

我有一个关系:User->[OneToMany]->Profile我没有测试它,但我认为这应该可以工作

    $qb = $this->conn->createQueryBuilder();
    $qb->select('g.id');
    $qb->from('Group', 'g');
    $qb->innerJoin('g', 'Profile', 'p', 'g.id != p.group_id');
    $qb->where('p.group_id = 2);
**编辑 对不起,我没有读到未连接的部分

试试这个

$qb = $this->conn->createQueryBuilder();
$qb->select('g.id');
$qb->from('Group', 'g');
$qb->where($qb->expr()->notin(
       'g.id',
       $qb2->select('p.group_id')
           ->from('Profile', 'p')

           ->getDQL()
));

$qb->select('g')->from('MyBundle:Group','g')->innerJoin('g.profiles','p','g!=p.Group')->其中('p.user=2')->getQuery()->getResult()返回用户2加入的组,我想要未加入的组!对不起,我正在做另一件事。我对我的数据库做了一些更改,现在这个请求可以工作了,但是我想知道是否有办法避免两个请求之间的步骤。我的子请求返回一个数组,但我需要一个ID数组。。。
$qb = $this->conn->createQueryBuilder();
$qb->select('g.id');
$qb->from('Group', 'g');
$qb->where($qb->expr()->notin(
       'g.id',
       $qb2->select('p.group_id')
           ->from('Profile', 'p')

           ->getDQL()
));