首页 > 解决方案 > 在 Slick 中按日期时间排序

问题描述

我目前正在 Slick 中经历一个艰难的时刻。我正在尝试使用时间戳对表的查询进行排序:

TableName.filter(tableAttribute === 1).sortBy(_.tableTimestamp)

时间戳是joda.DateTimeslick 内的类型。当我尝试排序时,出现以下错误:

No implicit view available from dao.Tables.profile.api.Rep[org.joda.time.DateTime] => slick.lifted.Ordered.

我假设这不是内置在 Slick 中的。有没有一种快速而干净的方法来添加隐式视图并解决这个问题?

谢谢!

标签: scalaslick

解决方案


您可能正在寻找使用Ordering.fromLessThan的隐式转换,如下所示:

import org.joda.time.DateTime

implicit def datetimeOrdering: Ordering[DateTime] = Ordering.fromLessThan(_ isBefore _)

如果您想颠倒顺序,只需替换isBeforeisAfter.


推荐阅读