Я искал документы dbi
и гуглил, но не мог найти, был ли (dbi) нативный способ создания хеша списков. Самое близкое, о чем я могу подумать, это fetchall_hashref
но это перезаписывает результаты, давая мне только то, что было последней парой. Чтобы уточнить, моя таблица представляет собой список пар чего-то вроде «id, tag». Я хочу сгруппировать все строки по идентификатору и вернуть хеш, где ключ - это идентификатор, а "значение" - это (ссылка на) список всех его тегов. Так в случае:
id1, tag1
id1, tag2
id2, tag3
id2, tag1
Я хочу получить:
{'id1' => ['tag1', 'tag2'],
'id2' => ['tag3', 'tag1'] }
Это возможно? Если нет, то какой самый лучший (самый эффективный) способ сделать это не родным образом? Очевидным подходом было бы просто сделать комбо fetchall_ * + push (), но есть ли лучший способ?