Vapor-fluent,将对象保存到PostgreSQL



有人能给我举个例子吗,如何将对象保存到DB?例如,我使用一个GET请求,它触发HTML解析器并向用户返回一个模型。如何将该模型保存到我的数据库中?

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
}
}

create返回一个未来的Void,但controller中模型的实例已更新为包含主键(假设它是自动生成的(,所以您可以只返回它,尽管我已经留下了解码表单数据的原始返回。

最新更新