неявное значение для slick.jdbc.SetParameter [List [Int]] - PullRequest
1 голос
/ 14 марта 2019

У меня сырой скользкий запрос, подкрепленный PostgreSQL.Я хочу выполнить запрос, подобный этому: select something from my_table where action in (1,2,3).Обратите внимание, что action - это поле integer в my_table

В моем методе ниже указана ошибка компиляции:

не удалось найти неявное значение для параметра e: slick.jdbc.SetParameter [List [Int]]

def myMethod(actions: List[Int]]) {
 sql"""select something from my_table 
        where action in (${actions})""".as[MyType]
}

Вопрос

Как можно явно установить параметр List[Int], чтобы я мог успешновыполнить запрос in?

1 Ответ

0 голосов
/ 18 марта 2019

Попробуйте

def myMethod(actions: List[Int]) =
  sql"""select something from my_table
        where action in #${actions.mkString("(", ",", ")")}""".as[MyType]

http://slick.lightbend.com/doc/3.3.0/sql.html#splicing-literal-values

https://www.w3schools.com/sql/sql_in.asp

...