【发布时间】:2016-08-08 09:28:14
【问题描述】:
我想按列过滤我不想在我的域类中看到的行。例如,我的表格如下所示:
class UserTable(tag: Tag) extends Table[(Int, String, Boolean)](tag, "users") {
def id = column[Int]("id")
def name = column[String]("name")
def active = column[Boolean]("active")
override def * = (id, name, active)
}
我的域类是这样的:
case class User(id: Int, name: String)
出于某种原因,我不想在我的User 班级中提交active。但我希望查询结果会产生User。而且我不想映射未来。像这样:
val activeUsers: Future[Seq[User]] = db.run(query.filter(_.active === true) /* how to convert it here? */)
所以我的问题可以通过两种方式解决。像UserTable[User] 一样定义UserTable,并且仍然以某种方式通过active 列对其进行过滤。或者像现在定义的那样定义 UserTable 并将元组转换为 User 类。我几乎可以肯定第一个是不可能的,但第二个应该是可能的。如何做到这一点?
【问题讨论】: