swift - 如何使用 Fluent 在 Vapor 中使用字符串 PostgreSQL 查询?
问题描述
我正在使用 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]>'”
我怎样才能投射我的结果,或以某种方式解决这个问题?
解决方案
推荐阅读
- sql - 在哪里可以找到此存储过程所需的值?
- javascript - 如何为数组中的每个对象动态创建formGroups,然后使用对象数据进行patchValue
- angular - 出现错误在Angular 12的反应形式中找不到名称为'0'的控件
- html - 如何将 apk 转换为 html?
- sql - Exposed 如何处理绑定参数?
- python - 使用 selenium python 下载所有文件
- java - 使用 Scanner 类时的警告消息
- json - 当状态码为 4xx 时,ColdFusion REST 服务不允许在“内容”中发回结构
- linux - 如何彻底永久地清除 bash/Linux 历史记录?
- javascript - DragEvent.relatedTarget 在 Safari 中返回 null