Перенос подсущности на верхний уровень.

Все вопросы/проблемы по установке и использовании.
Ответить
tax
Сообщения: 255
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: --

Перенос подсущности на верхний уровень.

Сообщение tax »

Доброго времени суток!

Коллеги, посоветуйте как правильней переместить вложенную сущность на верхний уровень. Сам механизм перемещения есть в меню управления сущностями, но мне нужно сохранить (не потерять) связь с родительской сущностью.
Более конкретно... есть Проекты и в них Счета. Нужно вынести Счета и иметь связь с сущностью Проекты.
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Перенос подсущности на верхний уровень.

Сообщение nruslan2 »

Я бы временно ввел бы дополнительное поле заполнил номером родителя (ну и связь заодно) и потом бы переносил.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Перенос подсущности на верхний уровень.

Сообщение support »

Связь с родительской сущностью хранится в parent_item_id
Соответственно это значение нужно скопировать в поле Сущность для каждой записи, чтобы сохранилась связь. Можно сделать в phpMyAdmin
При переносе на верхний уровень parent_item_id обнулится.
tax
Сообщения: 255
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: --

Re: Перенос подсущности на верхний уровень.

Сообщение tax »

в таблице (счета) создал временное поле prg_id

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

ALTER TABLE `app_entity_41` ADD `prg_id` INT NOT NULL AFTER `sort_order`;
Скопировал в это поле значения из parent_item_id

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

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: Перенос подсущности на верхний уровень.

Сообщение support »

В базе есть таблица app_entity_41_values куда нужно вставить значения из поля 609
Нужно в цикле перебрать все записи из таблицы app_entity_41
и для каждой записи вставить строчку в таблицу app_entity_41_values

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

INSERT INTO `app_entity_41_values` (`items_id`, `fields_id`, `value`) VALUES ('ID записи', 609, 'значения поля 609');
Ответить