简体   繁体   中英

Could not find implicit value for parameter tt: slick.ast.TypedType[List[List[Int]]]

In postgres I am trying to map column of type integer[][] using slick 3.2

When trying to define below

def bbox = column[List[List[Int]]]("bbox")

I get the following error

Could not find implicit value for parameter tt: slick.ast.TypedType[List[List[Int]]]

Try slick-pg

import com.github.tminglei.slickpg._

trait MyPostgresProfile extends ExPostgresProfile
  with PgArraySupport
  with PgDate2Support
  with PgRangeSupport
  with PgHStoreSupport
//with PgPlayJsonSupport
  with PgSearchSupport
//with PgPostGISSupport
  with PgNetSupport
  with PgLTreeSupport {
  def pgjson = "jsonb" // jsonb support is in postgres 9.4.0 onward; for 9.3.x use "json"

// Add back `capabilities.insertOrUpdate` to enable native `upsert` support; for postgres 9.5+
//override protected def computeCapabilities: Set[Capability] =
//  super.computeCapabilities + JdbcProfile.capabilities.insertOrUpdate

  override val api = MyAPI

  object MyAPI extends API with ArrayImplicits
    with DateTimeImplicits
//  with JsonImplicits
    with NetImplicits
    with LTreeImplicits
    with RangeImplicits
    with HStoreImplicits
    with SearchImplicits
    with SearchAssistants {
    implicit val intListTypeMapper = new SimpleArrayJdbcType[Int]("integer").to(_.toList)
    implicit val intListListTypeMapper = new AdvancedArrayJdbcType[List[Int]]("integer[]",
      utils.SimpleArrayUtils.fromString[List[Int]](s => 
        scala.util.Try(s.substring(5, s.length - 1).split(",").map(_.trim.toInt).toList).getOrElse(List())
      )(_).orNull,
      utils.SimpleArrayUtils.mkString[List[Int]](_.toString)
    ).to(_.toList)
  }
}

object MyPostgresProfile extends MyPostgresProfile

import MyPostgresProfile.api._

case class Something(name: String, bbox: List[List[Int]])

class SomethingTable(tag: Tag) extends Table[Something](tag, "Something") {
  def name = column[String]("name", O.PrimaryKey)
  def bbox = column[List[List[Int]]]("bbox")

  def * = (name, bbox) <> (Something.tupled, Something.unapply)
}

val query = TableQuery[SomethingTable]

In build.sbt one should add

libraryDependencies += "com.github.tminglei" %% "slick-pg" % "0.16.2"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM