Vapor 3 / Свободно для Postgres: Как мне сделать запрос SELECT DISTINCT? - PullRequest
0 голосов
/ 28 октября 2018

Я бы хотел запросить модель, чтобы Fluent генерировал SQL, который выглядит следующим образом:

SELECT DISTINCT ON(<my columns>) * FROM my_table...

Как мне это сделать?

1 Ответ

0 голосов
/ 14 декабря 2018

Вздох.

Итак, нам пришлось использовать необработанный запрос.Вы можете сделать то же самое с:

let distinctModels = req.withPooledConnection(to: .psql) { (conn) -> Future<[MyModel]> in
    conn.raw("SELECT DISTINCT ON(<my columns>) * FROM <my_table> INNER JOIN <another_table> ON <some_condition> WHERE <conditions>")
        .all(decoding: MyModel.self)
}

Где req имеет тип Request.Функция withPooledConnection вернет будущее ваших моделей - просто убедитесь, что вы расшифровали их!

...