Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Slick:准备好的查询中的默认参数(用于限制和范围)_Scala_Slick_Slick 2.0 - Fatal编程技术网

Scala Slick:准备好的查询中的默认参数(用于限制和范围)

Scala Slick:准备好的查询中的默认参数(用于限制和范围),scala,slick,slick-2.0,Scala,Slick,Slick 2.0,我想在Slick 2.0.x中执行类似操作:选择年龄的用户我找到了以下解决您问题的方法: private def ageQuery(maxAge: Column[Option[Int]] ,limit: scala.slick.lifted.ConstColumn[Long]) = { Users.filter(_.age < maxAge.getOrElse(1000)).take(limit) } private def ageQuery(maxAge:Column[Opt

我想在Slick 2.0.x中执行类似操作:
选择年龄的用户我找到了以下解决您问题的方法:

private def ageQuery(maxAge: Column[Option[Int]] ,limit:  scala.slick.lifted.ConstColumn[Long]) = {
    Users.filter(_.age < maxAge.getOrElse(1000)).take(limit)
}
private def ageQuery(maxAge:Column[Option[Int]],limit:scala.slick.lifted.ConstColumn[Long])={
Users.filter(u.age
这就是我所做的:

  • 我将
    limit
    参数的类型更改为
    scala.slick.lifted.ConstColumn[Long]
    。现在它既满足
    take
    方法,又满足
    Compiled
  • 我改变了过滤条件。现在它返回所有小于
    maxAge
    的用户,当
    maxAge
    None
    时,它返回所有小于1000岁的用户。这是一种变通方法,但效果很好(假设没有人的年龄超过1000岁)
  • private def ageQuery(maxAge: Column[Option[Int]] ,limit:  scala.slick.lifted.ConstColumn[Long]) = {
        Users.filter(_.age < maxAge.getOrElse(1000)).take(limit)
    }