簡體   English   中英

Vapor Swift Fluent:表達式類型不明確,沒有更多上下文

[英]Vapor Swift Fluent : Type of expression is ambiguous without more context

這是我的路線:

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

但對於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

}

我不明白,因為我在許多其他路線上使用過濾器,這是我第一次出現這個錯誤。

我用谷歌搜索了這一點,似乎當Fluent沒有導入時出現錯誤,但我已經在頂部import Fluent

我有時間測試你的代碼。 如果你更換

...   .map(to: Response.self) { answer in ....

... .flatMap(to:Response.self) { answer in ...

有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM