Like子句在浮石中不使用int列

时间:2015-06-15 07:34:21

标签: scala slick slick-2.0

Slick似乎不支持int列上的like子句。 Status.code属于int类型的以下代码似乎不起作用。会有解决方法吗?

val query = for {
  s <- Status if s.code like "1%"
} yield (s)

1 个答案:

答案 0 :(得分:2)

你可以发布你的Status类定义吗。如果代码是类型列[Int],你的代码应该给出错误,就像在[string]列上一样。

以下代码段适用于在整数字段上执行类似操作。

class Coffees(tag: Tag) extends Table[(String, Int)](tag, "COFFEES") {
    def name = column[String]("NAME")
    def status = column[Int]("STATUS")
    def * = (name,status) 
}

这是数据插入和查询部分

coffees ++= Seq(
        ("Colombian",         101),
        ("French_Roast",       49),
        ("Espresso",          150),
        ("Colombian_Decaf",   101),
        ("French_Roast_Decaf", 49)
      ) 

for( coffee <- coffees if coffee.status.asColumnOf[String] like "1%" ) 
    println(coffee)