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

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

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

Как я могу это сделать?

0 ответов

Вздох.

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

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 вернет будущее ваших моделей - просто убедитесь, что вы расшифровали их!

Другие вопросы по тегам