2

我有一个使用 phantom v1.5.0 的查询,它有多个 orderBy 子句,因为 orderBy 函数需要一个或多个OrderingConditions。

在 1.11.0(实际上是 1.8.0)的更新中,查询 API 更改为仅允许一种排序条件。当我尝试链接orderBya时,第一个返回的SelectQuery错误如下:SelectQueryorderBy

Cannot prove that com.websudos.phantom.builder.Ordered =:= com.websudos.phantom.builder.Unordered

似乎 Ordered 不等于 Unordered 似乎很明显,但似乎也暗示您只能按一列总计排序。

如何orderBy在新的 Phantom 查询 API 中添加多个 s?

4

1 回答 1

2

这是由于库本身的实现错误。从 phantom 1.13.0 开始,该问题已得到解决。

在单个语句中指定多个排序子句的方法很简单:

Table.select.where(_.a eqs "test").orderBy(_.col1 asc, _.col2 desc, ..)
于 2015-11-03T12:03:47.753 回答