Как перенести SQL запрос на синтаксис Ruby?

Есть скл запрос для вывода всех используемых форматов:

SELECT DISTINCT formats.name FROM places
INNER JOIN events_places ON places.id = events_places.place_id
INNER JOIN events_places_formats ON events_places.id = events_places_formats.events_place_id
INNER JOIN formats ON events_places_formats.format_id = formats.id
WHERE city_id = ' + @city.id.to_s + ' AND events_places.event_id = ' + @event.id.to_s

Как правильно написать его с помощью методов доступных в Ruby? Написал подобное, но не получается. Выбирается все не из той таблицы. Не могу понять чего тут не хватает

query = Place.includes([{events_places: :formats}])
                                .where(city_id: @city.id)
                                .where(events_places: { event_id: @event.id, })

Ответы (1 шт):

Автор решения: Василиса

Ваш запрос по умолчанию выбирает все поля из таблицы places, чтобы это изменить, нужно указать поля в операторе select

query = Place.joins(events_places: :formats)
             .select('formats.name')
             .distinct
             .where(city_id: @city.id)
             .where(events_places: { event_id: @event.id, })
→ Ссылка