2016-12-11 2 views
0

У меня есть три модели, Organisation имеет много User имеет много Project.Rails-Получить все записи с тем же дедушкой и бабушкой

Как сделать запрос для всех Project, принадлежащих к той же Организации?

В настоящее время у меня есть Project.joins(user: [:organisation]), но это всего лишь получает все Project и группирует их по User. Я не уверен, как указать идентификатор Organisation.

ответ

1

Предполагая, что у вас есть локальная переменная с именем organisation, которая заполнена интересующей вас организацией, вы можете добавить where к вашему запросу.

Project.joins(user: [:organisation]).where('organisations.id = ?', organisation.id) 

Но это могло бы быть более полезным использовать ассоциации вы создали (или создать новые)

class User < ActiveRecord::Base 
    has_many :projects 
end 

class Organisation < ActiveRecord::Base 
    belongs_to :user 
    has_many :projects, through: :user 
end 

Тогда вы можете попросить вашу организацию для своих проектов:

organisation = Organisation.find(params[:id]) 
organisation.projects 

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

  • Нет связанных вопросов^_^