在Scala中,我有以下scala case类:
case class Page(url: String)
object Page {
implicit val personFormat = Json.format[Page]
}它在数据库中的编码方式如下:
object Db extends Instance(entities = Seq(Entity[Page]()), url="jdbc:h2:mem:test")然后,我从数据库中检索一个实例,如下所示:
val page = Db.query[Page].whereEqual("id", pageId).fetch
val content: String = new URL(page.url).getContent().toString然而,在我得到的最后一行。
value url is not a member of Stream[models.Page with sorm.Persisted]为什么url不是会员?
我为Page创建了一个数据库表示。这不应该包括它的所有字段吗?
发布于 2016-03-10 01:09:07
应该是这样的
package models
import sorm._
import play.api.libs.json.{JsValue, Writes, Json}
case class Page(url: String)
object Page {
implicit val writes = Json.writes[Page]
implicit val reads = Json.reads[Page]
}
object DB extends Instance(Set(Entity[Page]()), "jdbc:h2:mem:test")
def pages = Action {
val pages = DB.query[Page].fetch()
Ok(Json.toJson(pages))
}
def addPage = Action(parse.json) { request =>
val page = DB.save(request.body.as[Page])
Ok(Json.toJson(page))
}https://stackoverflow.com/questions/35895329
复制相似问题