CakePHP: невозможно использовать modParams с несуществующими индексами
Я пишу источник данных для доступа к внешнему веб-сервису, он работает нормально, как и ожидалось, но после запуска веб-сервиса я получаю следующую ошибку:
CakeException: Cannot use modParams with indexes that do not exist.
in /project/lib/Cake/Utility/ObjectCollection.php on line 128
После небольшого поиска в Интернете я нашел этот похожий вопрос:
Что на самом деле означает эта ошибка?
К сожалению, это не помогло мне решить мой ответ.
Я понимаю, что ошибка ожидает от меня удаления (или добавления дополнительных параметров), но я не понимаю, где я устанавливаю эти параметры для их редактирования.
1 ответ
(отвечая на мой вопрос, чтобы помочь другим с той же проблемой!)
Проблема
Вопрос, который у меня был в моем AppModel
Я поставил public $actsAs = array('Containable');
Я делаю это, поэтому все мои модели прикрепляют containable
поведение, (я тогда установил recursive
в -1
по умолчанию для всех моделей и укажите рекурсию по мере необходимости (с вызовом).
Так что в этом случае мой datasource
модель (которую я использую для взаимодействия с datasource
), имел containable
привязанное к нему поведение (и поэтому CakePHP посчитал, что это правильно, и обработал его в соответствии с обычной моделью (что не так, поскольку у него нет связей или таблицы базы данных).
Решение
Решение было просто добавить public $actsAs = false;
в моей модели источника данных (который удалил унаследованные containable
поведение).
;)