【发布时间】:2016-10-21 14:21:27
【问题描述】:
代码:
def getDatasetStats(startDate: DateTime, endDate: DateTime) = {
val query = for(created <- datasets) yield created.createdOn
db.run(query.filter(d => d >= startDate && d <= endDate).size.result)
}
表:
protected class Datasets(tag: Tag) extends Table[SqlDataset](tag, "datasets") {
// format: OFF
def id = column[UUID]("id", O.PrimaryKey)
def name = column[String]("name")
def createdOn = column[DateTime]("created_on")
def updatedOn = column[Option[DateTime]]("updated_on")
def isPublic = column[Boolean]("public")
def * = (id, name, createdOn, isPublic, updatedOn) <>
((SqlDataset.apply _).tupled, SqlDataset.unapply)
implicit def jodaTimeMapping: BaseColumnType[DateTime] = MappedColumnType.base[DateTime, Timestamp](
dateTime => new Timestamp(dateTime.getMillis),
timeStamp => new DateTime(timeStamp.getTime)
)
// format: ON
}
我尝试过的上述解决方案无法正常工作。我也无法使用 isBefore 或 isAfter 因为我从 DB 获取 Rep[DateTime]。我需要有关在结果之上应用日期范围过滤器的帮助。
【问题讨论】: