是否可以使用多个谓词来实现过滤器?
Is it possible to implement filters with multiple predicates?
我无法弄清楚如何在 slick
中使用多个谓词。
举个简单的例子,想象一个 SQL 风格的 AND 过滤器,其中用户匹配指定的名字和姓氏:
def getByName(first: String, last: String) = {
users // TableQuery[Users]
.filter(_.userFirstName === first)
.filter(_.userLastName === last)
.result
}
在 slick
中是否有更惯用(且性能更高)的复杂过滤器实现,或者我采用了错误的方法?
尝试
def getByName(first: String, last: String) = {
users
.filter(user => user.userFirstName === first && user.userLastName === last)
.result
}
我无法弄清楚如何在 slick
中使用多个谓词。
举个简单的例子,想象一个 SQL 风格的 AND 过滤器,其中用户匹配指定的名字和姓氏:
def getByName(first: String, last: String) = {
users // TableQuery[Users]
.filter(_.userFirstName === first)
.filter(_.userLastName === last)
.result
}
在 slick
中是否有更惯用(且性能更高)的复杂过滤器实现,或者我采用了错误的方法?
尝试
def getByName(first: String, last: String) = {
users
.filter(user => user.userFirstName === first && user.userLastName === last)
.result
}