id товаров и категорий

Тема в разделе "OpenCart", создана пользователем travlarnor, 30 ноя 2015.

Статус темы:
Закрыта.
  1. travlarnor

    travlarnor

    Регистрация:
    10 окт 2014
    Сообщения:
    46
    Симпатии:
    21
    Автоматически движком id присваиваются в порядке увеличения по мере создания категории либо товара, и, как по мне, так получается полная каша.
    Раньше я заморочился и переделал все id:
    для категорий верхнего уровня - 001, 002, 003..
    для вложенных категорий - 001001, 001002..
    дла категорий второго уровня вложенности - 001001001, 001001002..​
    ну и для товаров:
    в категории первого уровня вложенности: 001000000001, 001000000002..
    в категории второго уровня вложенности: 001001000001, 001001000002..​

    никто подобным не занимался?
    если занимался, то как реализовывал?
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    778
    Не движком, а базой - это автоинкремент.
    Чтоб база сама ничего не присваивала, нужно сразу при создании записи отправлять и значение id.

    Учитывая, что все категории хранятся в одной таблице задача становится чрезмерно сложной, поскольку прежде чем сгенерировать id для новой категории, нужно узнать какое id было у последней категории этого уровня, а без каких-то особых извращений мы можем узнать только id последней записи в таблице, а это может быть категория другого уровня. Получается, что нужно выдернуть все id определённой длины, отсортировать и найти последнее, прибавить к нему единицу и присвоить новой категории.

    В общем, много бессмысленной работы.
    Если важно знать для каждой категории её уровень вложенности, лучше просто добавить ещё одно поле и писать туда уровень вложенности.


    А для товаров это вообще не имеет никакого смысла, учитывая, что товарам легко присваивается любая категория и у одного товара может быть неограниченное количество категорий любого уровня.
     
    travlarnor нравится это.
  3. travlarnor

    travlarnor

    Регистрация:
    10 окт 2014
    Сообщения:
    46
    Симпатии:
    21
    это решается при заполнении экселевского файла.
    да и мешанину из id видно только в нем, оттуда и растут ноги желания все это дело упорядочить.
    да, с этим беда выходит. пока думаю жестко привязать товар к категории, но кто знает, как дело повернется.
    Вопрос был как раз о целесообразности вышеупомянутых манипуляций.
    Сейчас вот немного посижу, да и откажусь к чертям от этой рационализаторской идеи).
     
  4. zerg3000

    zerg3000

    Регистрация:
    4 дек 2015
    Сообщения:
    3
    Симпатии:
    0
    А зачем все эти манипуляции. Вы хотите вручную устанавливать id? Не боитесь ошибок ручного ввода, когда на один и тотже id попадет 2 товара/категории? Можно конечно сделать скрипты, которые будут переделывать id при каждом добавлении новой записи в базу, но это будет простой тратой времени.
     
Статус темы:
Закрыта.