Мы обновляем Cake 1.2 до 1.3.8 и используем поведение ExtendedAssociations.
Одна из проблем, с которыми мы сталкиваемся, связана с нашей моделью Store , которая имеет отношение HABTM к Module через stores_modules .
Получение данных все хорошо, но одна проблема, переходящая на 1.3.8, кажется, представила, что когда мы хотим удалить все Модули из Store - в Магазинах модель
$ this-> habtmDeleteAll ('Модуль', $ this-> id);
Проблема заключается в том, что это приводит к следующему SQL-запросу (так как сначала выбирается все store_modules, чтобы посмотреть, что удалить)
ВЫБРАТЬ StoresModule
. module_id
ОТ stores_modules
КАК StoresModule
ГДЕ StoresModule
. store_id
= 1 И Module
. system_default
= 0
_
2011-03-29 18:27:46 Предупреждение: предупреждение (512): ошибка SQL: 1054: неизвестный столбец «Module.system_default» в «предложении where» в [/usr/lib/cakephp_1.3.8/cake/ libs / model / datasources / dbo_source.php, строка 684]
Похоже, проблема в том, что приведенный выше оператор SQL не добавляет JOIN в таблицу modules .. следовательно, он не может оштрафовать Module
. system_default
Любая помощь по этому вопросу была бы великолепна, это действительно поставило меня в тупик:)
Крис.