@dez64ru

Почему после 6ти итераций падает php с переполнением памяти?

Modx 2.7.1
Модернизировал таблицу modResource, добавив extId и parentExtId
после импорта категорий чиню зависимости родителей у ресурсов таким скриптом.

foreach ($this->modx->getIterator('modResource', ['extId:!=' => null]) as $obj) {//Берем все р-сы где не пусто extID
            $parentObj = $this->modx->getObject('modResource', ['extId' => $obj->parentExtId]); //Ищем родителя по extId родителя и parentExtId текущего рес-са

            $parentId = null !== $parentObj ? $parentObj->id : $this->getConfig('root_catalog_id'); //Если такого нет, то ставим дефолного родителя.

            $obj->set('parent', $parentId); //Установка родителя

            if ($obj->save()) { //сохраняем
                $this->log("Succes set parent {$parentId} for {$obj->id}");
            } else {
                $this->log("Error set parent {$parentId} for {$obj->id}");
            }

            unset($obj, $parentObj, $parentId);
        }
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@dez64ru Автор вопроса
Не учел, что $obj->parentExtId может быть null.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы