在 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