1
@project_list =  Project.find_by_sql("select p.id, p.name, (select sum(i.estimated_hours) from issues i where  i.project_id = p.id)  as estimated_hours,(select sum(t.hours)  from time_entries t where p.id = t.project_id )  as Spent_Hours,(select u.firstname  from users u  where u.id IN(select user_id from members m where m.project_id = p.id and m.id IN   ( select member_id from member_roles   where role_id IN (select id from roles r where r.name  = 'Project Coordinator') )) limit 1 ) as Coordinator,(select u.firstname  from users u  where u.id IN(select user_id from members m where m.project_id = p.id and m.id IN   ( select member_id from member_roles   where role_id IN (select id from roles r where r.name  = 'Project Manager') )) limit 1) as  Manager   from projects p where p.status IN ('16','14','15','17','18','19','20')   group by p.id")

上記のクエリを使用して、ビューページでレコードを取得できます今、コーディネーター、開始日、終了日などでさらに並べ替えまたは検索したいのですが、find_by_sqlが配列を返すため、結果の配列に検索方法を適用できません。 rails way で書くのは難しそうなので

  1. 読み取り専用モデルやそのようなものを作るような他の方法はありますか
  2. Railsの方法を使用してこのクエリを作成するのを手伝ってくれる人はいますか?

どんな助けや提案も大きな助けになるでしょう

4

0 に答える 0