0

SELECT COUNT(column_name) FROM table_name;Int を取得し、応答の一部として返すためにこれを実行したいと考えています。カウントを取得するためだけにすべてのオブジェクトをメモリにロードする必要はありません。このような:User.query().all().count

これは Fluent で可能だと教えてください! :)

4

1 に答える 1

2

rawメソッドで可能です。ここにMySQLの例があります

guard let mysql = drop.database?.driver as? MySQLDriver else {
    return
}

let count = try mysql.raw("SELECT COUNT(column_name) FROM table_name")

また、すべてのドライバーはrawメソッドを実装する必要があります

public protocol Driver {
    var idKey: String { get }
    func query<T: Entity>(_ query: Query<T>) throws -> Node
    func schema(_ schema: Schema) throws
    func raw(_ raw: String, _ values: [Node]) throws -> Node
}
于 2016-11-27T13:04:33.713 に答える