Доброго времени суток!
Коллеги, посоветуйте как правильней переместить вложенную сущность на верхний уровень. Сам механизм перемещения есть в меню управления сущностями, но мне нужно сохранить (не потерять) связь с родительской сущностью.
Более конкретно... есть Проекты и в них Счета. Нужно вынести Счета и иметь связь с сущностью Проекты.
Перенос подсущности на верхний уровень.
Re: Перенос подсущности на верхний уровень.
Я бы временно ввел бы дополнительное поле заполнил номером родителя (ну и связь заодно) и потом бы переносил.
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Перенос подсущности на верхний уровень.
Связь с родительской сущностью хранится в parent_item_id
Соответственно это значение нужно скопировать в поле Сущность для каждой записи, чтобы сохранилась связь. Можно сделать в phpMyAdmin
При переносе на верхний уровень parent_item_id обнулится.
Соответственно это значение нужно скопировать в поле Сущность для каждой записи, чтобы сохранилась связь. Можно сделать в phpMyAdmin
При переносе на верхний уровень parent_item_id обнулится.
Re: Перенос подсущности на верхний уровень.
в таблице (счета) создал временное поле prg_id
Скопировал в это поле значения из parent_item_id
Переместил сущность "Счета" на верхний уровень средствами "руководителя"
Создал Поле с типом Сущность (ID=609)
Скопировал в это поле значения из prg_id
В таблице всё красиво и в списке отображается, но фильтр по этому полю не работает. Только если пересохранить запись, тогда начинает работать фильтр.
Сергей, подскажите, может ещё в какой таблице хранятся связи с сущьностью?
Код: Выделить всё
ALTER TABLE `app_entity_41` ADD `prg_id` INT NOT NULL AFTER `sort_order`;Код: Выделить всё
UPDATE `app_entity_41` SET `prg_id`=`parent_item_id`Создал Поле с типом Сущность (ID=609)
Скопировал в это поле значения из prg_id
Код: Выделить всё
UPDATE `app_entity_41` SET `field_609`=`prg_id`Сергей, подскажите, может ещё в какой таблице хранятся связи с сущьностью?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Перенос подсущности на верхний уровень.
В базе есть таблица app_entity_41_values куда нужно вставить значения из поля 609
Нужно в цикле перебрать все записи из таблицы app_entity_41
и для каждой записи вставить строчку в таблицу app_entity_41_values
Нужно в цикле перебрать все записи из таблицы app_entity_41
и для каждой записи вставить строчку в таблицу app_entity_41_values
Код: Выделить всё
INSERT INTO `app_entity_41_values` (`items_id`, `fields_id`, `value`) VALUES ('ID записи', 609, 'значения поля 609');