Что вы хотите создать специальный запрос вручную, не основываясь на какой-либо конкретной модели.Столбец здесь, столбец там, может быть, счет, сумма или какой-то другой расчет.Вот способ, которым я придумал ...
>> results = ActiveRecord::Base.connection.execute(
'SELECT location, count(*) AS count FROM contracts
GROUP BY location
ORDER BY location')
=> #<Mysql::Result:0x103197e50>
>> arr = []
=> []
>> results.each { |row| arr << [row.first, row.last] }
=> #<Mysql::Result:0x103197e50>
>> arr
=> [[nil, "189"], ["", "4"], ["Canceled", "12"], ["Cancelled", "4"], ["Closed", "1"], ["Contract - Asst", "4"], ["Contracts - Admin", "5"], ["Exec - Operations", "2"], ["Exec - Policy", "1"], ["Executive", "1"], ["Finance", "25"], ["Fully Executed", "3631"], ["General Counsel", "11"], ["On-Hold", "27"], ["Pending Distribution", "2"], ["Pending Signature", "40"], ["Per Stephen W.", "1"], ["Project Manager", "26"], ["Upcoming", "1"]]
Но я как худший программист когда-либо.Как бы это сделал хороший программист?
В частности, есть ли более чистый и простой способ доступа к данным в объекте Mysql::Result
?Почему я получаю Mysql::Result
вместо некоторой обобщенной, не относящейся к БД структуры данных?
(Если это имеет значение, в этом конкретном случае я буду использовать 2d Array для заполнения меню выбора,но это может быть что угодно.)