gpt4 book ai didi

scala - 光滑地选择表格的所有行而不进行过滤

转载 作者:行者123 更新时间:2023-12-05 03:09:21 25 4
gpt4 key购买 nike

如何获取 JurisdictionRow 对象的集合?我需要一个 SELECT * FROM 权限

object JurisdictionRepo extends {
val profile = slick.driver.MySQLDriver
} with JurisdictionRepo

trait JurisdictionRepo {
private val dbConfig: DatabaseConfig[MySQLDriver] = DatabaseConfig.forConfig("pnga-master-data")
private val db = dbConfig.db

val profile: slick.driver.JdbcProfile
val tableName = "jurisdiction"

def add(jurisdictionRow: JurisdictionRow): Future[Unit] = db.run(query += jurisdictionRow).map { _ => () }

def delete(id: String): Future[Int] = db.run(query.filter(_.id === id).delete)

def get(id: String): Future[Option[JurisdictionRow]] = db.run(query.filter(_.id === id).result.headOption)

def all() = ???

import profile.api._

lazy val schema: profile.SchemaDescription = query.schema

case class JurisdictionRow(id: String,
parentId: String,
name: String,
code: String)

class Jurisdiction(_tableTag: Tag) extends Table[JurisdictionRow](_tableTag, tableName) {
val id: Rep[String] = column[String](s"${tableName}_id", O.PrimaryKey, O.Length(36, varying=true))
val parentId: Rep[String] = column[String]("parent_id", O.Length(36, varying=true))
val name: Rep[String] = column[String]("name", O.Length(255, varying=true))
val code: Rep[String] = column[String]("code", O.Length(255, varying=true))

def * = (id, parentId, name, code) <> (JurisdictionRow.tupled, JurisdictionRow.unapply _)
}

lazy val query = new TableQuery(tag => new Jurisdiction(tag))

}

我想实现 all 方法以返回表中所有可能的 JurisdictionRow 对象。这似乎是一个常见的情况,但 Slick 文档没有帮助。我只需要一个普通的旧结果集,不需要花哨的过滤等。

最佳答案

只需复制您在其他查询中已有的内容,但不包含过滤器部分。

def all = db.run(query.result)

看看第一个例子: http://slick.lightbend.com/doc/3.2.0/gettingstarted.html#querying

关于scala - 光滑地选择表格的所有行而不进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43281697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com