2017-04-07 13 views
0

JurisdictionRowオブジェクトのコレクションを取得するにはどうすればよいですか?私は、テーブル内のすべての可能なJurisdictionRowのオブジェクトを返すようにallメソッドを実装したいと思いますSELECT * FROM jurisdictionSlickフィルタリングのないテーブルのすべての行を選択

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のドキュメントは役に立ちませんでした。私は単純な古い結果セット、空想的なフィルタリングなどは必要ありません。

+0

は、私がhttps://github.com/pedrorijo91/play-slick3-stepsで簡単な作業例を持っています(http://pedrorijo.com/blog/play-slick/のチュートリアルもあります)。将来の質問に役立つことを願っています:) – pedrorijo91

+0

@ pedrorijo91ありがとうございました –

答えて

関連する問題