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