gpt4 book ai didi

symfony - 如何将其转换为 Doctrine 2 QueryBuilder 格式?

转载 作者:行者123 更新时间:2023-12-02 06:48:39 25 4
gpt4 key购买 nike

我想用 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

我在转换 SECOND SELECT 语句时遇到问题。

提前致谢。

我想用createQueryBuilder而不是createQuery来实现。

最佳答案

试试这个:

1) 创建子查询

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

2) 创建查询后

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

我测试了它,它有效:)

关于symfony - 如何将其转换为 Doctrine 2 QueryBuilder 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10762586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com