首页 文章

光滑的可选查询参数

提问于
浏览
1

我正在使用Slick来查询数据库 . 我将一个Case类传递给我的查询方法,它类似于...

case class queryParams(id:Int, age:Option[Int] = None, 
    categoryId:Option[Int] = None)

我有一个类似于......的Slick查询

val query = this.filter( row => 
  (row.id == queryParams.id))
query.list

这很好用 . 但我现在要做的是扩展查询以包括其他queryParams成员“if”它们被定义但我不确定我应该如何构造它 .

我想要的是这样的......

for { row <- this.list 
    if(row.id == queryParams.id)
    // include
    if(queryParams.age.isDefined) row.age == queryParams.age.get
  } yield row

如何在查询中包含可选参数?

谢谢

1 回答

相关问题