【发布时间】:2017-03-30 17:10:08
【问题描述】:
我有以下案例类的列表
case class caseClass
(
field1: Option[String],
field2: Option[String],
field3: Option[String]
)
这些字段对应于我要搜索的 mySQL 表的列。基本上我想过滤每个案例类实例,其中 field1、field2 和 field3 之间存在 AND 关系以及 OR实例之间的关系。在 SQL 中会是这样的:
SELECT
field4,
field5
FROM
tablename
WHERE
(field1 = ? AND field2 = ?) OR
(field3 = ?) OR
(field1 = ? AND field2 = ? AND field3 = ?) OR
...etc
当然,它会通过字符串连接生成,因为所有案例类字段都是可选的。 我怎样才能优雅地用 slick 解决这个问题(不使用 slick 的普通 SQL 查询)?
【问题讨论】: