值isEmpty不是slick.lifted.Rep [Option [java.time.LocalDateTime]]的成员

时间:2018-03-09 11:54:34

标签: scala slick play-slick

我正在使用play-slick 3.0.3 我有这样一栏:

val someDate = column[Option[LocalDateTime]]("some_date", O.Default(None))

并在代码中我想做:

table.someDate.isEmpty

但是我遇到了isEmpty不存在的错误..例如对于Option [Int]它工作得很好..

从1.1.1迁移后我遇到此问题:)

或代码中的其他地方:

value value is not a member of java.time.LocalDateTime

任何帮助表示感谢!

1 个答案:

答案 0 :(得分:0)

不是很多信息,但它是如何形成的(光滑3.1的例子,认为3.0应该类似):

case class RowClass(id: Option[Int],
                    someDate: Option[LocalDateTime])

case class TableClass(tag: Tag)
  extends Table[RowClass](tag, "companies") {
  val id = column[Int]("id", O.PrimaryKey, O.AutoInc)
  val someDate = column[Option[LocalDateTime]]("some_date", O.Default(None))

  def * = (id.?, someDate) <> ( RowClass.tupled, RowClass.unapply )
}
val query = TableQuery[TableClass]
val q: Query[TableClass, RowClass, Seq] = 
  query.filter(_.someDate.isEmpty)

而且你可以得到结果

val result: Future[Seq[RowClass]] =
  db.run(q.result)

请注意,即使版本2.1和3.0之间存在巨大的差异,从我的观点来看,它很难迁移。并且将更难从1.1.1迁移