How to convert this to Doctrine 2 QueryBuilder format?

前端 未结 1 1605
春和景丽
春和景丽 2020-12-01 16:24

I would like to write nested query with Doctrine; Sample SQL is like below:

SELECT * FROM layer WHERE layer.id NOT IN 
               (SELECT task_id FROM us         


        
相关标签:
1条回答
  • 2020-12-01 17:26

    try this :

    1) create your subquery

    $subquery = $this->_em->createQueryBuilder()
        ->select('t.id')
        ->from('yourBundle:Task', 't')
        ->innerjoin('t.user','u')
        ->where('u.id = 1')
        ->getDQL();
    

    2) after create your query

    $query = $this->_em->createQueryBuilder();
    $query->select('l')
          ->from('yourBundle:Layer', 'l')
          ->where($query->expr()->notIn('l.id', $subquery))
          ....;
    

    I tested it and it works :)

    0 讨论(0)
提交回复
热议问题