0
JurisdictionRow
オブジェクトのコレクションを取得するにはどうすればよいですか?私は、テーブル内のすべての可能なJurisdictionRow
のオブジェクトを返すようにall
メソッドを実装したいと思いますSELECT * FROM jurisdiction
Slickフィルタリングのないテーブルのすべての行を選択
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))
}
を必要としています。これは一般的なケースのようですが、Slickのドキュメントは役に立ちませんでした。私は単純な古い結果セット、空想的なフィルタリングなどは必要ありません。
は、私がhttps://github.com/pedrorijo91/play-slick3-stepsで簡単な作業例を持っています(http://pedrorijo.com/blog/play-slick/のチュートリアルもあります)。将来の質問に役立つことを願っています:) – pedrorijo91
@ pedrorijo91ありがとうございました –