如何在Vapor的PostgreSQL驱动程序中使用returning

时间:2019-08-21 00:19:15

标签: swift postgresql vapor sql-returning

我正在使用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?*/)

0 个答案:

没有答案