首页 > 解决方案 > 如何从一列选项中过滤掉无?

问题描述

我认为这可以提取 List[String],但不是。(anmKey 是 Option[String])

run(query[Anm].map(_.anmKey).flatMap(_))

标签: scalaquill.io

解决方案


要摆脱选项和非选项,请使用flatten

scala> List(Some("string1"), None, Some("string2")).flatten
val res0: List[String] = List(string1, string2)

或者,如果您想保留选项但删除非选项,您可以使用filter.

scala> List(Some("string1"), None, Some("string2")).filter(_.isDefined)
val res1: List[Option[String]] = List(Some(string1), Some(string2))

推荐阅读