how to call method on query result in Rails -
how call method on query result in rails have following code in projects controller
def inprogress_report @projects = project.all
@project_list = project.find_by_sql("select p.id, p.name, (select sum(i.estimated_hours) issues i.project_id = p.id) estimated_hours,(select sum(t.hours) time_entries t p.id = t.project_id ) spent_hours,(select u.firstname users u u.id in(select user_id members m m.project_id = p.id , m.id in ( select member_id member_roles role_id in (select id roles r r.name = 'project coordinator') )) limit 1 ) coordinator,(select u.firstname users u u.id in(select user_id members m m.project_id = p.id , m.id in ( select member_id member_roles role_id in (select id roles r r.name = 'project manager') )) limit 1) manager projects p p.status in ('16','14','15','17','18','19','20') group p.id")
now want make serch on @project_list result
so have put
@project_list = @project_list.search(params[:search]) and in project.rb there
def search(search) if search where('name ?', "%#{search}%") else find(:all) end end but gives me error undefined search method...
can use active record::base.connection.select_all above query , in result want further sorting possible plz guide me
find_by_sql returns plain array, not result set. have build query without find_by_sql if want add additional conditions it.
http://apidock.com/rails/activerecord/base/find_by_sql/class
Comments
Post a Comment