以下代码来自Play 2 ScalaTodoList 教程:
楷模:
case class Task(id: Long, label: String)
object Task {
val task = {
get[Long]("id")~
get[String]("label") map {
case id~label => Task(id, label)
}
}
def all(): List[Task] = DB.withConnection { implicit c =>
SQL("select * from task").as(task *)
}
def create(label: String) {
DB.withConnection { implicit c =>
SQL("insert into task (label) values ({label})").on(
'label -> label
).executeUpdate()
}
}
现在,我正在尝试添加名为Description的第三个属性:
case class Task(id: Long, label: String, description: String)
object Task {
val task = {
get[Long]("id")~
get[String]("label")~
get[String]("description") map {
case id~label~description => Task(id, label, description)
}
}
(我是 Scala 初学者,不确定我是否做得对)
但我被困在def create
方法中。如何包含description
到 SQL 查询中?
编辑:
我也不确定如何在description
此处包含:
def newTask = Action { implicit request =>
taskForm.bindFromRequest.fold(
errors => BadRequest(views.html.index(Task.all(), errors)),
label => {
Task.create(label)
Redirect(routes.Application.tasks)
}
)