【问题标题】:Extract String value from Node从节点中提取字符串值
【发布时间】:2017-03-03 09:04:13
【问题描述】:

我正在尝试使用以下方式查询数据库:

let db = drop.database?.driver as? MySQLDriver
let query = "select \(fields) from \(table) where \(condition)"
let result = try db.raw(query)

我得到以下 Node 对象:

array([Node.Node.object(["field_name": Node.Node.string("value_info")])])

如何将value_info 放入字符串变量中?

【问题讨论】:

    标签: swift3 vapor


    【解决方案1】:

    您可以使用PathIndexable 单步执行结果对象,然后使用Polymorphic 将其转换为字符串。

    应该是这样的:

    let valueInfo = result[0, "field_name"]?.string
    

    【讨论】:

    • 做不到。 value_info 是查询的结果。假设我的查询类似于select "test" as field_name from dual,我得到array([Node.Node.object(["field_name": Node.Node.string("test")])])。因此,您的解决方案无法使用。
    • 相反,let valueInfo = result[0, "field_name"]?.string 有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多