如何定义currying参数(???)可以在以下函数中更改过滤器:
def readManRleIspBy(value:String)(???) = {
val query= tblManRleIsp.filter(??? === value)
db.run(query.result)
}
我需要在另一边定义(???)。例如
readManRleIspBy("test")(f=>f.rlePattern)
要么
readManRleIspBy("test")(f=>f.rleName)
答案 0 :(得分:1)
为此,您必须使用光滑的Rep
。在下面的代码TableRow
中,您是使用slick在数据库中保留的类的名称。
例如,如果我要保留员工,则我写了员工表,而我的TableRow
变成了Employee
def readManRleIspBy[A](value: A)(f: Rep[TableRow] => Rep[A]) = {
val query= tblManRleIsp.filter(row => f(row) === value)
db.run(query.result)
}
现在您可以写
readManRleIspBy("test")(f => f.rlePattern)
还有
readManRleIspBy("test")(f => f.rleName)
免费建议:请尝试使用更好的名称