我在弄清楚如何使用slick
中的多个谓词时遇到麻烦。
举一个简单的例子,想象一个SQL风格的AND过滤器,其中用户匹配指定的名字和姓氏:
def getByName(first: String, last: String) = {
users // TableQuery[Users]
.filter(_.userFirstName === first)
.filter(_.userLastName === last)
.result
}
在slick
中,是否存在更复杂的,具有多个谓词的过滤器的习惯用法(更高效的实现)?还是我采用了错误的方法?
答案 0 :(得分:3)
尝试
def getByName(first: String, last: String) = {
users
.filter(user => user.userFirstName === first && user.userLastName === last)
.result
}