Vapor Swift Fluent:表达式类型不明确,没有更多上下文

Tho*_*itt 5 fluent swift vapor

这是我的路线:

router.get("answers","delete", Int.parameter) { req -> Future<Response> in

        let answerID = try req.parameters.next(Int.self)
        guard let _ = getUsername(req) else {
            throw Abort(.unauthorized)
        }
        return Message.query(on: req).filter(\.id == answerID).first().map(to: Response.self) { answer in
            guard let answer = answer else {
                throw Abort(.notFound)
            }
            return answer.delete(on: req).map(to: Response.self) { _ in
                return req.redirect(to: "/answers")
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是对于xCode,这是模棱两可的,没有更多上下文 .filter(\.id == answerID)

这是我的结构信息:

struct Message: Content, SQLiteUUIDModel, Migration {
var id: UUID?
var username: String
var content: String
var category: String
var question: String
var date: Date
Run Code Online (Sandbox Code Playgroud)

}

我不明白,因为我在许多其他路线的ID上使用了过滤器,这是我第一次显示此错误。

我用谷歌搜索,似乎当未导入Fluent但我已经import Fluent在顶部时出现了错误。

LoV*_*oVo 3

我刚刚有时间测试你的代码。如果你更换

...   .map(to: Response.self) { answer in ....
Run Code Online (Sandbox Code Playgroud)

... .flatMap(to:Response.self) { answer in ...
Run Code Online (Sandbox Code Playgroud)

有用。