带有选项的 Scala 持久序列

scala persisting seq with Options

我有

case class ProcessSteps(stepsData: Seq[ProcessStepTemplatesModel])

这个 Seqence 可以有空的 ProcessStepTemplatesModel

现在,当我想像这样持久化数组时:

request.body.asJson.foreach(f = _.validate[ProcessSteps] match {
      case JsSuccess(processSteps, _) =>
        // PROBLEM HIER
        processSteps.stepsData.foreach(processStep => processTemplateDTO.addProcessStepTemplateToProcessTemplate(processStep, processId).map {

由于空值,我遇到了错误。

有没有办法 scip 空值并只保留非空值?

我是 运行 一个 scala Playframework 应用程序,带有 slick 作为数据库映射器

谢谢

我建议您将 ProcessStepTemplatesModel 包裹在 Option 中以指示可能存在 null 值: case class ProcessSteps(stepsData: Seq[Option[ProcessStepTemplatesModel]]), 然后 filter(_.isDefined) 您的序列只有现有的(不可为空的)步骤并安全地执行其余代码。