Прошу совета как правильно обратиться к базе в чем суть. Разрабатываю расширение
вот собственно. Меню хранится в json формате вот сама строка json
{
"menus": {
"menu0": {
"title": "Распродажа",
"model": "\\common\\models\\Category",
"alias": "Rasprodazha",
"depth": 0,
"path": "/gods/gods/category",
"classItem": false,
"idInput": false
},
"menu1": {
"menuItem": 215,
"depth": 0,
"item": "1",
"text": "Для нее",
"classItem": false,
"idInput": false,
"aliasInput": false
},
"menu2": {
"menuItem": 217,
"depth": 0,
"item": "2",
"text": "Для дома",
"classItem": false,
"idInput": false,
"aliasInput": false
}
}
}
Собственно в чем вопрос
вот здесь в моделе Menu в методе renderMenu пытаюсь сформировать меню исходя из выше приведенного кода вот эта строка
"menuItem": 217,
означает вывести меню с
id - 217
. к примеру вот такое
{
"menus": {
"menu0": {
"title": "Бижутерия",
"model": "\\common\\models\\Category",
"alias": "Bizuteria",
"depth": 0,
"path": "/gods/gods/category",
"classItem": false,
"idInput": false
},
"extra-2": {
"munu0": {
"title": "Акция блузы по - 20%",
"model": "\\common\\models\\Category",
"alias": "Akciyabluzypo-20%",
"depth": 0,
"path": "/gods/gods/category",
"classItem": false,
"idInput": false,
"imgPath": "http://magaz.lc/frontend/web/image/menu/2017/06",
"imgName": "logo.png"
}
}
}
Что мне не нравится в строке 61 класса (модели) Menu в методе renderMenu я запускаю цикл foreache потом обращаюсь к методу Menu где запрашиваю информацию из базы данных о прикрепленном меню. Хотя я понимаю что таких запросов будет не много но все же для особо нежных натур, да и вообще что бы избежать любое пованивание кода хотелось бы это исправить и заменить на запрос к базе вне цикла. Может есть советы как это можно реализовать?