Я пытаюсь выбрать из базы данных с несколькими фильтрами. Код:
// name is List("Denis", "Semen")
val query = name.map(_ + "%").mkString(" OR name LIKE ")
sql"SELECT * FROM phonebook WHERE name LIKE ${query+"%"}"
.query[Contact]
.to[List]
.transact(tr)
Результат запроса таков: SELECT * FROM phonebook WHERE name LIKE Denis% OR name LIKE Semen%
И я ничего не получаю. Я получаю что-то, только когда SELECT имеет только одно имя: SELECT * FROM phonebook WHERE name LIKE Denis%
.
Я также пытался это сделать:
val query = name.map("'" + _ + "%'").mkString(" OR name LIKE ") // 'denis%' OR NAME LIKE 'benis%'
Результат запроса так: SELECT * FROM phonebook WHERE name LIKE 'Jhon%' OR name LIKE 'Lena%'
, но в Doob ie нет необходимости использовать '
, поэтому даже одно имя ничего не даст: SELECT * FROM phonebook WHERE name LIKE 'Jhon%'
.