Vapor - 流畅,将对象保存到 PostgreSQL

Vapor - fluent, save object to PostgreSQL

谁能给我举个例子,如何将对象保存到数据库? 例如,我正在使用触发 HTML 解析器和 returns 用户模型的 GET 请求。如何将该模型保存到我的数据库中?

func parseHTML() -> ModelObject{
    
}

app.get("getData") { req -> [ModelObject] in
    let controller = TestController()
    let data = controller.parseHTML()
            
    //Save data to DB
    return data
}

执行此操作的标准方法是添加这些行以在数据库中创建记录:

app.get("getData") { req -> [ModelObject] in
    let controller = TestController()
    let data = controller.parseHTML()

    // update fields in the controller instances with values from your decoded form
    controller.field = data.field

    return controller.create(on: database).flatMap { _ in
        //return controller
        return data
    }
}

createreturn 是未来的 Void,但是 controller 中的模型实例已更新为包含主键(假设它是 auto-generated) 所以你可以 return 这个,虽然我已经离开了你原来的 return 的解码表单数据。