Соединение таблицы пользователя с таблицей user_follows дважды - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь найти всех пользователей, за которыми следит текущий пользователь и которые следят за текущим пользователем. Я подключаю следующих пользователей в таблице users_follow.

От моей модели пользователя:

has_many(:user_follows, :foreign_key => :user_id, :dependent => :destroy
has_many(:reverse_user_follows, class_name: 'UserFollow', :foreign_key => :user_b_id, :dependent => :destroy)

Итак, я хочу выбрать всех пользователей, у которых есть запись user_follow с user_id = current_user.id и user_b.id = user-i-am-search, а также запись с user_id = the-user-i -am-search-for и user_b.id = current_user.id

Могу ли я сделать это с помощью activerecord или мне лучше делать это в SQL?

1 Ответ

0 голосов
/ 14 февраля 2012

Проблема решена:

User.all(:joins => [:user_follows, :reverse_user_follows ], :conditions => ["user_follows.user_b_id = ? AND reverse_user_follows_users.user_id = ?", current_user.id,  current_user.id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...