Невозможно получить данные из обеих таблиц в запросе соединения с использованием Rails 3 - PullRequest
0 голосов
/ 05 декабря 2010

Я использую Rail 3, и мне очень трудно выполнить объединение двух таблиц и получить доступ к данным из обеих таблиц в представлении.Я получаю доступ только к одному из двух.Что не так с кодом ниже?Как это должно выглядеть?

Обратите внимание, что я использую Rails 3.

@contacts = Profile.where("profiles.id = ?", @profile).includes(:contacts).order("lastname ASC")

Я также пробовал что-то подобное

@contacts = Profile.joins('LEFT OUTER JOIN contacts ON contacts.friend_id = profiles.id').where("profiles.firstname LIKE :input OR profiles.lastname LIKE :input",{:input => "#{params[:keyword]}%"}).where("contacts.profile_id = #{params[:profile_id]}")

1 Ответ

1 голос
/ 20 мая 2011

Вам не хватает метода выбора

См. Решение этого вопроса: Rails 3 - выберите с помощью Include? Он работает аналогично JOIN, позволяя выбирать поля из обеих таблиц, но результаты будут в объекте Profile с полями Contact как виртуальными столбцы.

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