如何为将来做备份

时间:2016-05-03 14:53:39

标签: scala playframework

此代码查找院系并将其与表格中的教师进行比较。

如果在数据库中它找到了教师,那么它将这个组添加到数据库中,然后将其重定向到同一页面,但是在GET中(这是POST方法)。

问题是,如果没有添加该组,我需要重定向。也许,有人知道如何使这简单而整洁?

def addGroup() = Action.async {
    implicit request =>
      GroupForm.form.bindFromRequest.fold(
        errorForm => ???,
        data => {
          (for {
            seqOfFaculties <- FacultyService.getAllFaculties
            future <- GroupService.addGroup(Group(0, data.nameGroup, data.faculty)) if seqOfFaculties.exists(_.name == data.faculty)
          } yield future).map(_ => Redirect(routes.GroupController.get()))
        })
  }

1 个答案:

答案 0 :(得分:0)

也许是这样的:

FacultyService.getAllFaculties.map { seqOfFaculties  =>
    if (seqOfFaculties.exists { _.name == "something" }) {
      Ok // or something else...
    } else {
      Redirect(routes.GroupController.get())
    }
}

在使用if的for-comprehension中使用Future语句时应该小心。你可以得到一个异常...... :)(没有处理它的东西)