首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤slick 3中的数字列表

过滤slick 3中的数字列表
EN

Stack Overflow用户
提问于 2015-06-12 15:42:08
回答 1查看 2.6K关注 0票数 1

我遇到了一个条件,即过滤slick-3中的数字列表。这是我的实体。

代码语言:javascript
复制
    case class Company(id:Long, name: String, companyTypeId: Option[List[Long]] = None)

    implicit def GetResultCompany(implicit e0: GR[Long], e1: GR[String], e2: GR[Option[List[Long]]]): GR[Company] = GR{
        prs => import prs._
          CompanyTest.tupled((<<[Long], <<[String],<<?[List[Long]]))
      }
    class CompanyTable(_tableTag: Tag) extends Table[Company](_tableTag, Some("base"), "Company") {
        def * = (id, name,companyTypeId) <> (CompanyTest.tupled, CompanyTest.unapply)
        def ? = (Rep.Some(id), Rep.Some(name), companyTypeId).shaped.<>({r=>import r._; _1.map(_=> CompanyTest.tupled((_1.get, _2.get _3)))}, (_:Any) =>  throw new Exception("Inserting into ? projection not supported."))
        val id: Rep[Long] = column[Long]("CompanyId", O.AutoInc, O.PrimaryKey)
        val name: Rep[String] = column[String]("Name", O.Length(250,varying=true))
        val companyTypeId: Rep[Option[List[Long]]] = column[Option[List[Long]]]("CompanyTypeId", O.Length(19,varying=false), O.Default(None))
      }
    lazy val companyTable = new TableQuery(tag => new CompanyTable(tag))

在这里我想搜索companyTypeId,它是Option[List[Long]]

我尝试使用companyTable.filter(_.companyTypeId === Some(List(1,2))),但得到的是Vector(),表中有一行数据是companyTypeId,因为{1}.I正在使用Postgres DB。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-06-14 19:12:25

也许你可以这样尝试一下:

代码语言:javascript
复制
companyTable.filter(_.companyTypeId inSet(Traversable(List(1,2)))) 
// the above query filters rows with values in the given list
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30797826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档