Мой план состоит в создании временной таблицы с помощью $ this-> Model-> query (); затем загрузите его как Модель, но я получаю сообщение об ошибке «Отсутствует таблица базы данных». Включение отладки на второй уровень показывает, что временная таблица успешно создана, но по какой-то причине, когда я пытаюсь загрузить ее в качестве модели, она не работает. Похоже, что торт даже не пытается увидеть, существует ли таблица, поскольку не отображается запрос «ПОКАЗАТЬ ПОЛНЫЕ КОЛОНКИ ОТ …». Не знаете, как заставить пирог проверять его существование.
$tmpModel = 'tempModel'; $tmpTable = 'temp_models'; $this->Model->query('CREATE TEMPORARY TABLE `'.$tmpTable ... ); $this->loadModel($tmpModel);
Заранее спасибо.
$tmpModel = 'TempModel'; // CamelCase
также попробуйте, ClassRegisty::init($tmpModel);
окончательной проблемой может быть кеш. но не думайте так
Хорошо, немного оглядевшись, я нашел решение, которое работает. Проблема заключалась в том, что Cake уже загрузил кэши моделей при загрузке страницы, поэтому использовал их в качестве ссылки на существование таблицы. Для решения этой проблемы я использовал «App :: import (« Модель », $ tmpModel); который создал новый modelCache, позволяющий запустить сценарий loadModel.
$tmpModel = 'tempModel'; $tmpTable = 'temp_models'; $this->Model->query('CREATE TEMPORARY TABLE `'.$tmpTable ... ); App::import('Model', $tmpModel); $this->loadModel($tmpModel);
Спасибо, в любом случае
После выполнения google в течение часа .. наконец нашел способ иметь модель на временной таблице, и она работает как шарм http://web2.0goodies.com/blog/uncategorized/mysql-temporary-tables-and-cakephp-1- 3 /