【发布时间】:2014-06-14 00:09:26
【问题描述】:
我想使用 MappedTo[String] 作为一种列类型。有一个查询使用like来选择一些记录。
示例代码:
case class ID(value: String) extends scala.slick.lifted.MappedTo[String]
class Order(tag: Tag) extends Table[(ID, String)](tag, "order") {
def id = column[ID]("id", O.PrimaryKey)
def name = column[String]("name", O.NotNull)
def * = (id, name)
}
val ordres = TableQuery[Order]
def all(implicit session: Session) = {
ordres.filter(_.id like "2014.%").list
}
编译器错误:
[error] value like is not a member of scala.slick.lifted.Column[models.ID]
[error] ordres.filter(_.id like "2014.%").list
[error] ^
[error] ambiguous implicit values:
[error] both value BooleanColumnCanBeQueryCondition in object CanBeQueryCondition of type => scala.slick.lifted.CanBeQueryCondition[scala.slick.lifted.Column[Boolean]]
[error] and value BooleanOptionColumnCanBeQueryCondition in object CanBeQueryCondition of type => scala.slick.lifted.CanBeQueryCondition[scala.slick.lifted.Column[Option[Boolean]]]
[error] match expected type scala.slick.lifted.CanBeQueryCondition[Nothing]
[error] ordres.filter(_.id like "2014.%").list
如何解决?谢谢。
【问题讨论】:
标签: slick