我正在使用Vapor的API,并使用PostgreSQL驱动程序(不流利)。在我的控制器中,我想返回插入/更新的项目,我发现驱动程序中有一个returning
函数,该函数带有一个PostgreSQLSelectExpression
类型的对象。 Vapor的文档非常糟糕,我还没有找到有关如何使用此功能的示例。
因此,我想知道如果我想获取所有列,一个列和多个(但不是全部)列,以及是否有可能给这些列赋予别名,应该向函数传递什么。
要清楚:我了解returning
子句如何使用原始SQL进行工作,但如果有内置的方法,我真的更喜欢使用查询生成器。
更新
要具体说明我在这里要问的内容:我想知道如何获得PostgreSQLSelectExpression
,因为有关它的文档确实令人困惑。我尝试使用KeyPath
,但是它不起作用。
所以问题是:如何获得PostgreSQLSelectExpression
才能使我返回(a)所有列(b)单个列,并且(c)多个但不是全部列。
给出:
//MyModel.swift
struct MyModel: SQLTable {
var id: Int?
var name: String
var age: Int
}
//MyModelController.swift
connection.insert(into: MyModel.self)
.value(myModel)
.returning(/*what should I use here to get a, b, and c?*/)