如何使用mysql
将一系列模型更新到transactions
中?并在成功操作后返回Ok
响应
答案 0 :(得分:7)
因此,我无需交易即可解决我的问题:
func update(_ req: Request, todos: [CreateTodoRequest]) throws -> Future<HTTPStatus> {
let user = try req.requireAuthenticated(User.self)
// 1
return try todos.map { try Todo(todo: $0, userID: user.requireID()).create(on: req) }
// 2
.flatten(on: req)
// 3
.transform(to: .ok)
}
.create(on: req)
返回一个EventLoopFuture<Todo>
。因此todos.map
将返回[EventLoopFuture<Todo>]
的数组。第二步是将其转换为EventLoopFuture<[Todo]>
。第三步是将其转换为HttpStatus.ok
响应