【发布时间】:2014-12-02 07:54:01
【问题描述】:
我有一个连接许多表的查询。我希望能够参数化应该检索哪些字段(有时是复杂的 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。 有没有合理的方法可以根据输入参数动态构建yield部分?
【问题讨论】: