Мне нужно выполнить левое внешнее объединение в рельсах, но мне нужно, чтобы объекты модели были для объединенной таблицы.
Мне нужен список дней с метриками для каждого дня.Мне нужно иметь все дни независимо от того, были ли метрики, но я не хочу совершать кучу циклических обращений к базе данных.
Это работает, но вызывает проблемы, потому что думает, что у меня есть PeriodDayобъекты, когда мне действительно нужны объекты Metric:
PeriodDay.select("metrics.*").join('LEFT OUTER JOIN metrics ON period_days.date = metrics.date').where('period_id = ?', current_period)
Я могу использовать find_by_sql для объекта Metric, но построение запросов является более сложным (и условным), чем этот упрощенный пример, поэтому я бы лучше выяснил "рельсы путь "для этой проблемы.