在 Slick 中按日期时间排序
Sorting by DateTime in Slick
我目前正在经历 Slick 中的一个粗略点。我正在尝试使用时间戳对 table 的查询进行排序:
TableName.filter(tableAttribute === 1).sortBy(_.tableTimestamp)
时间戳是 slick 中的 joda.DateTime
类型。当我尝试排序时,出现以下错误:
No implicit view available from dao.Tables.profile.api.Rep[org.joda.time.DateTime] => slick.lifted.Ordered.
我假设这不是 Slick 内置的。有没有一种快速简洁的方法来添加隐式视图并解决这个问题?
谢谢!
您可能正在寻找使用 Ordering.fromLessThan 的隐式转换,如下所示:
import org.joda.time.DateTime
implicit def datetimeOrdering: Ordering[DateTime] = Ordering.fromLessThan(_ isBefore _)
如果您想颠倒顺序,只需将 isBefore
替换为 isAfter
。
我目前正在经历 Slick 中的一个粗略点。我正在尝试使用时间戳对 table 的查询进行排序:
TableName.filter(tableAttribute === 1).sortBy(_.tableTimestamp)
时间戳是 slick 中的 joda.DateTime
类型。当我尝试排序时,出现以下错误:
No implicit view available from dao.Tables.profile.api.Rep[org.joda.time.DateTime] => slick.lifted.Ordered.
我假设这不是 Slick 内置的。有没有一种快速简洁的方法来添加隐式视图并解决这个问题?
谢谢!
您可能正在寻找使用 Ordering.fromLessThan 的隐式转换,如下所示:
import org.joda.time.DateTime
implicit def datetimeOrdering: Ordering[DateTime] = Ordering.fromLessThan(_ isBefore _)
如果您想颠倒顺序,只需将 isBefore
替换为 isAfter
。