0

私は次のモデルを持っています:

Company has_many Employees has_many Projects

Projects have a deadline:dateTime

ここで、単一の SQL を生成するステートメントを使用して、特定の会社の任意のプロジェクトから次の締め切りを取得したいと考えています。

すなわち

def get_next_deadline
   * * * select deadline from projects where employee_id in (employees.each |i| )) * * *
end

私が望んでいないのは、すべての会社の従業員を繰り返し処理し、従業員ごとに 1 回 DB にアクセスして、次の期限を確認することです。

よりエレガントな検索コマンドはありますか

find_by_sql?
4

1 に答える 1

1

追加する場合

has_many :projects, :through => :employees

あなたの会社のモデルに、あなたはすることができます

some_company.projects.order('deadline').first

その会社の最初の締め切りのプロジェクトを見つける

于 2012-07-01T15:23:18.673 に答える