В бд имеется таблица для категорий. Категории имеют древовидную структуру. Каким способом лучше всего организовать вывод выбора категории конечному пользователю? Написать метод модели, который собирает "дерево" (массив), а потом в представлении обратно разобрать это дерево и вывести данные? Как правильнее всего сделать?
Так же эту логику нужно использовать в разных местах, то есть, скорее всего эту логику нужно вынести в виджет. Здесь те же вопросы, как грамотно реализовать передачу данных от бд (модели) до представления.