sql - 使用 orderBy 进行内连接或在其他表上使用 groupBy
问题描述
我正在使用 Symfony 4 和 Doctrine,并且我有一个 DQL 查询问题,我有两个具有类型和产品关系的表,一个类型可以有很多产品,一个产品可以有一个类型。如何编写一个查询,将记录返回给我按类型和产品相对于价格排序的记录?
public function getAllMainOrderByQueue()
{
return $this->createQueryBuilder('b')
->innerJoin('b.children', 'children')
->addSelect('children')
->andWhere('b.parent IS NULL')
->andWhere('b.isDeleted = :value')->setParameter('value', false)
->andWhere('children.isDeleted = :v')->setParameter('v', false)
->orderBy('b.name', 'ASC')
->addOrderBy('children.price', 'ASC')
;
}
当我在上面使用此代码时,出现错误:
无法使用 LIMIT 和 ORDER BY 对来自 fetch 连接到多关联的列的查询选择不同的标识符。使用输出步行者。
如何使用带有 orderBy 函数的innerjoin ,也许我应该在 Product 表上使用 groupBy?
解决方案
推荐阅读
- javascript - 如何从元素中获取 jQuery 中数据属性的值?
- python - 如何在 C++ 中使用 pybind 11 将 python stdout 重定向到日志文件
- android - Android有没有办法查看actionBarItemBackground可绘制XML是什么?
- windows - Windows 接收端缩放 (RSS) 配置/性能调整
- c# - 关闭我的应用程序时,它仍处于后台
- ios - Swift:拍摄照片后音量按钮不起作用
- javascript - Javascript 导入无法正常工作
- qt - Qml:可访问性不适用于所有元素
- firefox - 从 Firefox 中的事件处理程序重绘时,每个顶点的 gl_VertexID 为零
- laravel - 如何在 laravel 中应用规则来检查文件名是否唯一?