DigitalWand / digitalwand.admin_helper

API для сборки кастомных админок в Битриксе
MIT License
156 stars 53 forks source link

Исправление ошибки перезаписи уже существующих связанных элементов #105

Closed denx-b closed 6 years ago

denx-b commented 7 years ago

Дополнил массив идентификатором текущего значения в связанной таблице.

denx-b commented 7 years ago

EntityManager::getReferenceDataSet() делает запрос к базе данных, на получение данных связанного элемента. Поэтому, чтобы не делать повторный запрос, результат я передаю сначала в linkDataSet, затем в linkData, где уже новым методом getLinkDataId производится поиск ID связанного элемента.

Сейчас подумал, что всё-таки можно делать повторных запрос в конечном методе linkData, чтобы не передавать массив по цепочке, а результаты запроса условно-кешировать в отдельном массиве объекта по ключу и при ранее совершенном запросе EntityManager::getReferenceDataSet() не будет делать запрос, а вернёт данные из массива.

Но преимущественно это ни на что не повлияем, разве что снимет обязательство в дополнительном аргументе методов linkDataSet и linkData. Вот думаю, стоит ли переделать? Или это уже всё лирика?)