Выберите отличный по id, чтобы вернуть строку, но получить доступ к другим значениям столбца (ассоциация рельсов) - PullRequest
1 голос
/ 06 января 2012

Хорошо, я делаю внутреннее соединение для ассоциации в рельсах, вот так:

@visits = @customer.visits.joins(:messages).select("distinct(visits.id)")

И это возвращает уникальные идентификаторы посещений, однако я хочу просмотреть эти посещения и просмотреть их ассоциации (к каждому посещению также прикреплен merchant_id). Проблема с этим внутренним объединением заключается в том, что он возвращает только идентификатор, поэтому, когда я делаю что-то вроде этого:

@visits.each do |v|
  merchant = v.merchant
end

У меня просто нулевой класс.

Как я могу выбрать "посещения" на основе уникального посещения. Но также вернуть все остальные столбцы в этой строке? Группировать по?

1 Ответ

0 голосов
/ 06 января 2012

Все, что вы выбираете, это идентификатор, это правильно.Поскольку вы хотите объект, у вас есть два варианта.Итак, что вы действительно хотите, это:это в основном просто соединение в приведенном выше запросе.Иногда полезно разобраться в SQL и вернуться к синтаксису ActiveRecord, если у вас возникли проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...