2013-03-28 4 views
0

У меня есть простое соотношение:Rails find_by_sql найти самостоятельно ссылочное подмножество модели

class Organization < ActiveRecord::Base 
    belongs_to :parent_organization, class_name: 'Organization' 
end 

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

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

В принципе, найти все организации, чьи идентификатор ссылки в Organization#parent_organization_id колонке эффективным способом, так что я могу настроить область применения, как:

Organization.parent, который будет возвращать все организации, которые функционируют в качестве родителей.

Спасибо,

Джо

ответ

0

Вы должны быть в состоянии сделать что-то вроде этого:

Organization.where("id in (?)", Organization.pluck(:parent_organization_id)) 

И тогда вы можете использовать это, как сфера, чтобы сделать использование проще:

scope :parent, where("id in (?)", Organization.pluck(:parent_organization_id))