Я пытаюсь создать запрос в пятно с динамической фильтрацией. У меня есть Seq[(String, String)]
, где первый элемент кортежа - это имя столбца, а второй - значение, против которого делают фильтр.
В псевдокоде я хочу сделать что-то вроде этого:
val filters: Seq[(String, String)]
val query = filters.foldLeft(entityTable) {
case(query, (column, value)) => query.filter(select(column) === value)
}
У меня уже есть функция def select(name: String): Rep[_]
, которая возвращает столбец Rep
, начиная с его имени, который работает хорошо, но я не знаю, как получить все последствия, необходимые для выполнения функции ===
(или других функций сравнения ) работа.
Есть ли способ сделать такую динамическую фильтрацию в пятно?