scala - 是否可以在 Slick 中定义动态投影?

标签 scala slick

我有一个连接许多表的查询。我希望能够参数化应该检索哪些字段(有时是复杂的 SQL Postgis 函数)。假设初始查询是这样构建的:

def buildQuery() = for {
  c <- coffees if c.price > 9.0
  s <- c.supplier
} yield (c.name, s.name)

现在我希望产生的值之一取决于我的参数,因此示例将变为:
val param = true
def buildQuery() = for {
  c <- coffees if c.price > 9.0
  s <- c.supplier
} yield (c.name, if (param) s.name else null)

这样的代码不起作用,Slick 内部会抛出 NullPointerException。
有没有什么合理的方法可以根据输入参数动态构建产量部分?

最佳答案

关于scala - 是否可以在 Slick 中定义动态投影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244372/

相关文章:

scala - 如何使用 None 类型约束专门化一个特征?

scala - _2符号在scala语言中的含义

scala - 使用 Slick 的代码生成器时,如何过滤列?

mysql - 如何使用 Slick 的源代码生成器设置用户名和密码?

Scala 泛型 - 为什么我不能在泛型类中创建参数化对象?

scala - 是否可以使用 scala 宏来构造类型?

java - 内容类型为 : text throws an "Unhandled content type "null""exception in Jsoup 的 IIS 响应

scala - 可空列在尝试写入空值时导致 SlickException

Scala Play Framework Slick session 不起作用

postgresql - PSQLException : The column index is out of range: 2, 列数:1