У меня есть модель счетчика, который возвращает следующие записи:Количество строк значений вхождений для отдельного другого значения столбца
name.....flowers.....counter
vino.....rose.........1
vino.....lily.........1
gaya.....rose.........1
rosi.....lily.........1
vino.....lily.........1
rosi.....rose.........1
rosi.....rose.........1
Я хочу, чтобы отобразить в таблице как:
name | Rose | Lily |
---------------------
Vino | 1 | 2 |
---------------------
Gaya | 1 | 0 |
---------------------
Rosi | 2 | 1 |
Я хочу отобразите количество цветов для каждого отдельного имени. Я пробовал следующее и задавался вопросом, как я могу сделать это элегантно?
def counter_results
@counter_results= {}
Counter.each do |name|
rose = Counter.where(flower: 'rose').count
lily= Counter.where(flower: 'lily').count
@counter_results['name'] = name
@counter_results['rose_count'] = rose
@counter_results['lily_count'] = lily
end
return @counter_results
end
, который я не получаю хэш-значения.
Спасибо @dinjas. Возможно ли, что мы получим результаты такого же типа без использования счетчика столбцов? – Vinay
@ Vinay Yea, вы должны иметь возможность делать 'Counter.group ([: name,: flowers]). Count' – dinjas
Большое спасибо @dinjas. Это сработало. Можете ли вы посоветовать, что использование REGEX - хороший способ разделить имя от vino_rose на Vino? – Vinay