Railsのクエリ結果でメソッドを呼び出す方法 プロジェクトコントローラーに次のコードがあります
def inprogress_report @projects = Project.all
@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 ( member_roles から member_id を選択 where role_id IN (役割 r から ID を選択 r.name = 'Project Manager') )) limit 1) as Manager from projects p where p.status IN (' 16'、'14'、'15'、'17','18','19','20') p.id によるグループ")
@project_list の結果を検索したい
だから私は入れました
@project_list = @project_list.search(params[:search])
そして私のproject.rbには
def search(search)
if search
where('name LIKE ?', "%#{search}%")
else
find(:all)
end
end
しかし、未定義の検索方法というエラーが表示されます...
上記のクエリに Active Record::Base.connection.select_all を使用できますか。その結果、さらに並べ替えが必要な場合は、plz をガイドしてください