SQL запрос для категорий товаров

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Евгений
Евгений
Репутация: 3
Сообщения: 49
Зарегистрирован: 15.12.2018
С нами: 2 года 9 месяцев

Сообщение #1 Евгений » 30.08.2021, 10:38

V 2.3.5
Добрый день, форумчане!
Подскажите как с помощью SQL запроса удалить принадлежность товаров к материнаским категориям в карточках товара, оставив лишь подкатегории нижнего уровня. Например товар находится в категории Электроника -> Компьютеры и ноутбуки -> Ноутбуки и соответственно в карточке товара в разделе категория выбраны все категории вложенности. Необходимо, чтобы после запроса товар относился лишь к категории Ноутбуки

makki M
makki M
Репутация: 192
Сообщения: 654
Зарегистрирован: 12.08.2016
С нами: 5 лет 1 месяц
Откуда: Киев
Сайт

Сообщение #2 makki » 30.08.2021, 19:38

Код: Выделить всё

UPDATE ok_products_categories pc
LEFT JOIN ok_categories c ON pc.category_id = c.id
SET c.parent_id = 0


Перед выполнением запроса на всякий случай сделайте бэкап базы данных
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 102
Сообщения: 1522
Зарегистрирован: 03.12.2015
С нами: 5 лет 9 месяцев
Skype

Сообщение #3 korshunov » 31.08.2021, 05:07

makki писал(а):

Код: Выделить всё

UPDATE ok_products_categories pc
LEFT JOIN ok_categories c ON pc.category_id = c.id
SET c.parent_id = 0

Весьма странный способ. Реально просто уничтожит структуру дерева категорий, переведя каждую категорию (в которой есть товары) в верхний уровень.

А вообще желание ТС выглядит весьма туманно и противоречиво...

makki M
makki M
Репутация: 192
Сообщения: 654
Зарегистрирован: 12.08.2016
С нами: 5 лет 1 месяц
Откуда: Киев
Сайт

Сообщение #4 makki » 31.08.2021, 05:54

korshunov писал(а):Реально просто уничтожит структуру дерева категорий, переведя каждую категорию (в которой есть товары) в верхний уровень.
А разве не в этом была задача?
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 102
Сообщения: 1522
Зарегистрирован: 03.12.2015
С нами: 5 лет 9 месяцев
Skype

Сообщение #5 korshunov » 31.08.2021, 06:43

В том и дело, что с задачей ТС намудрил.
С одной стороны, "удалить принадлежность товаров к материнаским категориям".
С другой, "Необходимо, чтобы после запроса товар относился лишь к категории Ноутбуки".

А запрос Ваш вообще НЕ ЗАТРАГИВАЕТ принадлежность товаров к категориям, а только меняет структуру дерева категорий...

ооо
ооо

Сообщение #6 ооо » 16.09.2021, 08:15

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


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 2 гостя