【问题标题】:why the "===" operation do not work on "filter" or "where" do not apply on my TableQuery [slick2]为什么“===”操作不适用于“过滤器”或“位置”不适用于我的 TableQuery [slick2]
【发布时间】:2014-06-01 03:42:50
【问题描述】:

我使用 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]

【问题讨论】:

    标签: scala slick slick-2.0


    【解决方案1】:

    您必须导入正确的隐式转换:

    import scala.slick.driver.JdbcDriver.simple._
    

    import scala.slick.driver.TheDriverOfMyChoice.simple._
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2022-01-18
      • 2016-11-16
      相关资源
      最近更新 更多