我正在尝试使用可选参数过滤表。使用 slick 2.1 这可以工作,但是当我转到 3.0 版时不再工作,错误是:当我调用函数“reduce”时“无法解析符号 &&”。
我会很感激任何帮助..非常感谢你
这是代码:
def getAll(params : ClienteSearchParameters) : DBIOAction[Iterable[Cliente], NoStream, Effect.Read] = {
val q = for {
(x, (y, z)) <- tabla join (tablaPersonas joinLeft tablaContactos on (_.id === _.idPersona)) on (_.idPersona === _._1.id)
if {
List(
params.nombre.map(y.nombre === _),
params.apellido.map(y.apellido === _),
params.fechaAlta.map(x.fechaAlta === _),
params.fechaRegistracion.map(x.fechaRegistracion === _)
).flatten match {
case Nil => LiteralColumn[Boolean](true)
case seq => seq.reduce(_ && _)
}
}
} yield (x, y, z)