我正在使用 Vapor 4 beta 编写一些 API。我有一个在后台运行的 PostgreSQL 数据库,我想过滤一个表,并检查是否在某个日期间隔内创建了特定行。
我的查询应该是这样的:
SELECT *
FROM notes
WHERE date BETWEEN '2020-07-03' AND '2020-07-04'
该查询适用于数据库(我尝试使用 Postico 客户端),但是我想在 Xcode 中将它与 Fluent 一起使用。
我试过这样的事情:
func retrieveNotes(req : Request) throws -> EventLoopFuture<[Note]> {
guard let userID = req.parameters.get("userID", as: UUID.self) else {throw Abort(.notFound)}
if let postgres = req.db as? PostgresDatabase {
return postgres.query("SELECT * FROM notes WHERE date BETWEEN '2020-07-03' AND '2020-07-04")
} else {
//throw some errors
}
}
它不起作用,它说:“无法将 'EventLoopFuture' 类型的返回表达式转换为返回类型 'EventLoopFuture<[Note]>'”
我怎样才能投射我的结果,或以某种方式解决这个问题?