Просим совета по изменению записей "меню" в таблице базы данных
Раньше я не обращался за помощью в обработке записей таблицы базы данных, пока успел. Прошу совета у ваших мудрейших людей для решения одного вопроса. У меня почти большая часть nestedSortable построила мою структуру на QCubed v4. Все работает как надо, есть еще кое-что, что нужно решить, думаю, справлюсь.
Как вы знаете, для запуска nestedSortable требуются такие записи, как here: id, parent_id, depth, left, right. Я зашел так далеко, пока запись не была удалена, поэтому я застрял с тем, как удалить "левое" и "правое" значения следующих записей по одному номеру при удалении той или иной строки в таблице базы данных. Я не могу найти подходящую точку для установки контроля или условия.
Что взять? Невозможно установить контроль или что-нибудь по записи "id" ... Хммм!
В соответствии с которым собирать массив и затем сохранять, возможно, как показано на скриншоте здесь, например:
$somearray = array(
['id' => "9", 'parent_id' => null, 'depth' => "0", 'left' => "10", 'right' => "11", 'text' => "Gallery"],
['id' => "8", 'parent_id' => null, 'depth' => "0", 'left' => "12", 'right' => "13", 'text' => "News"],
['id' => "5", 'parent_id' => null, 'depth' => "0", 'left' => "14", 'right' => "15", 'text' => "Statutes"],
['id' => "6", 'parent_id' => null, 'depth' => "0", 'left' => "16", 'right' => "21", 'text' => "Reporting"],
['id' => "7", 'parent_id' => "6", 'depth' => "1", 'left' => "17", 'right' => "20", 'text' => "Projects"],
['id' => "10", 'parent_id' => "7", 'depth' => "2", 'left' => "18", 'right' => "19", 'text' => "Calendar"]
);
Итак, чтобы я перестал сохранять изменения:
foreach ($someArray as $value) {
$objMenu = Menu::load($value["id"]);
$objMenu->Left = $value["left"] -1;
$objMenu->Right = $value["right"] - 1;
$objMenu->save();
}
Ты определенно умнее и можешь дать мне хороший совет.
Благодарю за любую помощь!