【发布时间】:2015-04-04 07:29:47
【问题描述】:
如果列为空,我如何过滤 Slick 中的行?
val employees = Queryable[Employees]
// Error
val query = employees.filter( _.terminationDate == Nil )
可能需要注意的是
terminationDate: Option[String]
我正在使用直接嵌入。
【问题讨论】:
如果列为空,我如何过滤 Slick 中的行?
val employees = Queryable[Employees]
// Error
val query = employees.filter( _.terminationDate == Nil )
可能需要注意的是
terminationDate: Option[String]
我正在使用直接嵌入。
【问题讨论】:
Slick 有自己的原因检查列中的空值:
val query = employees.filter(_.terminationDate.isNull)
相反的是isNotNull。
或者在较新版本的 Slick 中:
val query = employees.filter(_.terminationDate.isEmpty)
和
val query = employees.filter(_.terminationDate.isDefined)
【讨论】:
Type mismatch. Expected (Employees) => Boolean, actual (Employees) => Any
column[Option[SomeType]] 而不是 column[SomeType]。我认为isEmpty 和isDefined 只定义在Rep[Option[_]] 类型的列上