Yii2 и Nested Sets — Пользователи имеют свои категории — как лучше реализовать?
Доброго времени суток. Возникла такая проблема, есть проект, в котором каждый пользователь может создавать свои категории, которые доступны у каждого пользователя в отдельности, в то же время есть и общие категории (предустановленные системой) и доступны всем. Проект планирую делать на Yii2, и для работы с категориями решил использовать yii2-nested-set-behavior от creocoder. До этого с этими вещами дел не имел (деревья) и пока идёт очень туго.
Например есть такая структура:
- system
-- Суп
-- Гарнир
-- Мясо
- Пользователь 1
-- Рыба
--- На пару
--- В масле
--- Жаренная
-- Печень
- Пользователь 2
-- Первое блюдо
-- Второе блюдо
и т.д.
Уровней вложенности может быть сколько угодно.
По сути рутовые категории - привязка пользователя, а второй уровень это рутовые категории конкретного пользователя.
Сам вопрос заключается в том, как лучше реализовать? У меня есть мысль сделать рутовые категории по имени пользователя (или id, не суть) в которые пользователи будут себе добавлять свои категории, и одну рутовую общую. Но мне кажется, что рутовые категории как я задумал - большой костыль, поэтому здесь и появился этот вопрос.
А какие варианты вы использовали или может быть просто знаете как сделать лучше с минимальными трудозатратами?
Рутовая общая по идее не нужна, если разрешить multi root. И тогда дать каждому пользователю свой рут выглядит логичным решением (можно даже сделать root attribute = user_id).