如何将ResultSet从“MySql for Swift”传递给叶子模板竞赛

时间:2017-03-20 14:39:34

标签: mysql vapor leaf

作为Swift和Vapor的新手,我正在尝试一个Vapor项目。它有一个简单的路由,它通过MySQL for Swift从数据库中获取数据,然后将ResultSet传递给Leaf模板。这就是我的尝试:

drop.get("report") {req in
    let data = try mysql.execute("select * from things")
    return try drop.view.make("report", ["data":data])
}

但斯威夫特抱怨这个错误:

error: cannot convert value of type '[[String : Node]]' to expected dictionary value type 'Node'
return try drop.view.make("report", ["data":data])
                                            ^~~~

感觉我错过了一个类型转换步骤,但它是什么?

1 个答案:

答案 0 :(得分:1)

您应该可以通过手动将字典数组的类型设置为Node来解决此问题:

drop.get("report") {req in
    let data = try mysql.execute("select * from things")
    let dataNode = Node.array(data.map({ return Node.object($0) }))
    return try drop.view.make("report", ["data":dataNode])
}