我想爲使用SLICK創建的模型編寫findById(pk:Long)和update()函數。然而,在我的findById方法中,它表示返回一個編譯錯誤「值過濾器不是對象models.About的成員」,並在findById方法中突出顯示模型名稱About。Play Framework:無法使用SLICK編寫findById函數
package models
//import scala.slick.driver.PostgresDriver.simple._
import play.api.db.slick.Config.driver._
case class About(
id:Option[Long],
name: String,
subheading: String,
about: String
)
object About extends Table[About]("about"){
def id = column[Long]("id", O.PrimaryKey, O AutoInc)
def name = column[String]("name")
def subheading = column[String]("subheading")
def about = column[String]("about")
def * = id.? ~ name ~ subheading ~ about <> (About.apply _, About.unapply _)
def update(id: Long, about: About)(implicit session: Session) = findById(id).update(about)
def findById(pk: Long) =
for (a <- About if a.id === pk) yield a
}
非常感謝,這完美地工作。你知道爲什麼在大多數例子中Query()是不需要的嗎?謝謝 – TrueWheel 2013-04-28 20:08:10
其實我從來不在乎學習爲什麼。 – pedrofurla 2013-04-28 20:34:23