2016-09-21 3 views
0

У меня есть сервисная модель. каждая услуга может предоставляться несколькими пользователями, поэтому у меня есть модель User.получить информацию с третьей таблицы с ассоциацией

У меня есть таблица подключения: services_users с моделью ServiceUser

пс: эта таблица user_id, service_id и blah_id колонны

Теперь я хочу написать: service.users и получить всех пользователей, от пользователей таблицы для данной услуги.

Как бы написать это в модели? service.users дает мне запрос от services_users, который является соединительной таблицей, но мне нужны результаты из таблицы users.

ответ

0

Вы можете определить has_and_belongs_to_many ассоциация, чтобы облегчить эту процедуру.

service.rb

has_and_belongs_to_many :users 

user.rb

has_and_belongs_to_many :services 

и теперь вы можете просто:

your_service.users 
+0

Соединительная таблица называется: family_users, которая не является рельсами по умолчанию, как я описал в своем вопросе, так как бы вы это описали? –

+0

Вы не описали это в своем вопросе. –

+0

Потому что я решил сделать вопрос более ясным –

0

Вам не нужно ServiceUser модель. вам нужны User и Service модель с has_and_belongs_to_many ассоциация как на моделях, так и на соединительной таблице. Затем вы можете получить доступ к users по service.users. HABTM association

Смежные вопросы