Я думаю о лучшем способе, как создать 2–3-уровневое меню. Моя первая идея - все хранить в одной таблице базы данных со следующей структурой:
- id
- item
- level
Если я создаю пункт меню первого уровня, то level будет 0. Если я создам пункт меню второго уровня (например, Contact - phone), значит, phone это второй пункт меню, а значение level будет идентификатором контакта.
Но теперь - я не знаю, как распечатать его из базы данных - в первом цикле я напечатаю первый уровень пунктов меню (с уровнем = 0), а затем мне нужно напечатать второй пункт меню (с уровнем = ID_of_first_menu_item ) - существует какой-нибудь изящный способ, как одновременно печатать элементы первого и второго уровня (я построю это в Rails)?
И второй способ - каждый уровень пунктов меню хранится в отдельной таблице - но я имею в виду, что это не очень хорошая идея ...
Спасибо за вашу помощь!