Rails 3.1 - busque usando count y seleccione como

I am trying to do the following sql statement in rails:

SELECT COUNT(downloads.title) AS total, downloads.title FROM `downloads` WHERE `downloads`.`member_id` = 60 Group by `downloads`.`title`

I wrote this in rails like this:

Download.where(:member_id => id).select("COUNT(downloads.title) AS total, downloads.title").group(:title)

If I run the query straight from the sql server the sql executes correctly but if I run the activerecord version I only get the title back.

I thought this might be because of attr_accessible but this doesnt seem to have made a difference.

alguna idea?

preguntado el 08 de noviembre de 11 a las 10:11

you can check final SQL query with to_sql método. -

Thanks, thats a handy method but the outputted sql is as I expected but I cant work out why its not including total in the outputted object -

1 Respuestas

Has intentado llamar total method on the collection object ?
This information is not included in the output for object using to_s method, so you probably just do not see it, but total value is there.

downloads = Download.where(:member_id => id).select("COUNT(downloads.title) AS total, downloads.title").group(:title)
downloads.first.total

respondido 08 nov., 11:16

Thanks, totally forgot .inspect doesnt return all the fields! - Alex

Thanks. It's helful for me. - huyhoang-vn

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.