如何使用FluentMySQL执行查询以使用Leaf呈现结果

时间:2019-01-01 22:45:27

标签: fluent vapor leaf

我尝试从mySQL请求一些数据以呈现带有叶子的表。

由于期货,我不知道如何结合FluentMySQL和Leaf。

import Vapor

final class IndexController {
    func index(_ req: Request) throws -> EventLoopFuture<View>{
        let futureEvents = try Event.query(on: req).all()

        // Here I want to add the querys results to 'renderParameters'
        var renderParameters = ...

        return try req.view().render("index", renderParameters)
    }
}

1 个答案:

答案 0 :(得分:1)

使用问题中的代码很难给您答案,但是希望这会给您足够的指导以帮助您前进。

创建一个结构,以将要从查询结果发送到视图的信息保存到View。确保它是Encodable。我没有使用Future的简单示例,但是类似以下内容的内容很容易包含[Future<Location>]

struct AllLocationsContext: Encodable {
    let title: String
    let hideInactiveLocations: Bool
    let locations: [Location]
}

然后向查询中添加flatMap,并嵌入参数结构的创建和创建return的{​​{1}}。

View