如何在 Doctrine 2 中使用 QueryBuilder 创建带有 SELECT 子查询的 LEFT JOIN?

How to create LEFT JOIN with SELECT subquery using QueryBuilder in Doctrine 2?(如何在 Doctrine 2 中使用 QueryBuilder 创建带有 SELECT 子查询的 LEFT JOIN?)
本文介绍了如何在 Doctrine 2 中使用 QueryBuilder 创建带有 SELECT 子查询的 LEFT JOIN?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要限制 LEFT JOIN 结果,所以我必须使用子查询.有人可以给我建议我如何使用 Doctrine 2 做到这一点?

I need to limit LEFT JOIN results, so I must use subquery. Could somebody give me advice how can I do it with Doctrine 2?

我现在拥有的是:

  $qb = $this->_em->createQueryBuilder();
    return $qb->add('select', 'c,j')
             ->add('from', 'JobeetBundle:Category c')
             ->leftJoin('c.jobs', 'j', 'WITH', 'j.category = c')
             ->add('where', 'j.expiresAt > ?1')
             ->add('orderBy','j.expiresAt DESC')
             ->setParameter(1, new DateTime())
             ->getQuery()
             ->getResult();

但我必须更改它以将每个类别的工作结果限制为 10 个.

but I must change it to limit jobs results to 10 by every category.

推荐答案

不幸的是,这是不可能的.在这里:

Unfortunately, This is not possible. Per here:

https://groups.google.com/forum/#!topic/doctrine-user/0rNbXlD0E_8

你可以在这里使用 IN:

You can do it using IN here:

在 Doctrine 2 中执行 WHERE .. IN 子查询

这篇关于如何在 Doctrine 2 中使用 QueryBuilder 创建带有 SELECT 子查询的 LEFT JOIN?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)