PMo*_*bed 13 symfony doctrine-orm
我想用Doctrine编写嵌套查询; 示例SQL如下所示:
SELECT * FROM layer WHERE layer.id NOT IN
(SELECT task_id FROM users_tasks WHERE user_id = 1)
AND parent_id IS NOT NULL AND leaf IS TRUE
Run Code Online (Sandbox Code Playgroud)
我在转换SECOND SELECT
语句时遇到问题.
提前致谢.
我想与使它createQueryBuilder
不createQuery
.
a.a*_*dad 34
试试这个 :
1)创建子查询
$subquery = $this->_em->createQueryBuilder()
->select('t.id')
->from('yourBundle:Task', 't')
->innerjoin('t.user','u')
->where('u.id = 1')
->getDQL();
Run Code Online (Sandbox Code Playgroud)
2)创建查询后
$query = $this->_em->createQueryBuilder();
$query->select('l')
->from('yourBundle:Layer', 'l')
->where($query->expr()->notIn('l.id', $subquery))
....;
Run Code Online (Sandbox Code Playgroud)
我测试了它,它的工作原理:)