我有像bellow的查询
override def isOnList(id: Long, value: String)(implicit ex: ExecutionContext): DBIO[Boolean] = {
tableQuery.filter(e => e.id === id && e.isActive && e.value === value).exists.result
}
但是当表没有id === id的任何行时,它返回false。我想改变这个。我的修改是
override def isOnList(id: Long, value: String)(implicit ex: ExecutionContext): DBIO[Boolean] = {
tableQuery.filter(e => e.id === id && e.isActive).result.flatMap {
case seq if seq.isEmpty => DBIOAction.successful(true)
case seq => DBIOAction.successful(seq.exists(_.value==value))
}
}
我是新的光滑,所以我想知道这是好的解决方案(我可能没有找到任何信息。)?哦,我忘了,我不是唯一的。