我使用 slick 2.0.2 和 scala,我的数据模型是:
case class AdItem(id:Option[Long], res:String,status:String,userId:String, head:String,summary:String, url:String, position:String)
class Advertisement(tag:Tag) extends Table[AdItem](tag, "Advertisement"){
def id=column[Long]("ID", O.PrimaryKey, O.AutoInc)
def res=column[String]("Resource")
def status=column[String]("Status")
def userId=column[String]("User")
def head=column[String]("head")
def summary=column[String]("Summary")
def url=column[String]("Ad_Link")
def position=column[String]("Position")
def * = (id.?, res, status, userId, head, summary, url, position)<>(AdItem.tupled, AdItem.unapply)
def userFK=foreignKey("Ad_USE_FK", userId, userdata)(_.id)
}
这是我的表查询:
val addata=TableQuery[Advertisement]
当我执行:
val idd="1232232"
addata.filter(_.id === idd.toLong)
我得到的错误是:
[error] G:\testprojects\slickplay\app\controllers\AdController.scala:30: value =
== is not a member of scala.slick.lifted.Column[Long]
[error] addata.filter(_.id === idd.toLong)
我遵循http://slick.typesafe.com/doc/2.0.2/queries.html#sorting-and-filtering的说明
我认为“===”可以应用列[Long]