Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

129
Visualizações
How can i convert plain PostgresSQL query into slick query?
Table: person

Mapped Tables

case class Person(id: Int, name: String, address: Option[Map[String, String]])


trait ReceiptRepositoryImpl {
  self: PersonTable with SlickDBComponent =>

  def getPersonByCity(city: String): List[Person] = {
    personQuery.filter(_.address) // *Here i am unable to convert slick query of select * from person where address -> 'city' = 'Chicago'*
  }

}


   

 trait PersonTable {
    
      this: SlickDBComponent =>
    
      import driver.api._
    
      val personQuery: TableQuery[PersonDetailsTable] = TableQuery[PersonDetailsTable]
    
      class PersonDetailsTable(tag: Tag) extends Table[Person](tag, "person") {
        def id: Rep[Long] = column[Long]("id", O.PrimaryKey, O.AutoInc)
    
        def name: Rep[String] = column[String]("name")
    
        def address: Rep[Option[Map[String, String]]] = column[Option[Map[String, String]]]("address")
    
        def * = (id, name, address) <> (Person.tupled, Person.unapply)
      }
    
    }

select * from person;

 id |  name   |      address       
----+---------+--------------------
  1 | James   | "city"=>"Chicago"
  1 | Michael | "city"=>"New York"

select * from person where address -> 'city' = 'Chicago';

Please help me to convert above plain query into slick query.

I am using below tech stack with their version.

  • Scala : 2.11.11
  • slick : 3.2.0
  • slick-pg : 0.15.4
over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda