В качестве части веб-приложения пользователи могут загружать файлы данных, которые генерируют новую таблицу в отдельной базе данных MySQL для хранения данных. Они могут затем манипулировать этими данными различными способами.CakePHP Доступ к динамически созданным таблицам?
Следующая версия этого приложения написана на CakePHP, и на данный момент я не могу понять, как динамически назначать эти таблицы во время выполнения.
У меня есть различные настройки базы данных, и вы можете создавать таблицы при загрузке данных как можно точнее, но как только это будет завершено, я не могу получить доступ к новой таблице с контроллера как часть действий CRUD записи для управления данными.
Я надеялся, что это было бы вдоль линий
function controllerAction(){
$this->uses[] = 'newTable';
$data = $this->newTable->find('all');
//use data
}
Но он возвращает ошибку
Undefined property: ReportsController::$newTable
Fatal error: Call to a member function find() on a non-object in /app/controllers/reports_controller.php on line 60
кто может помочь.
Круто. Это определенно шаг в правильном направлении. Благодарю. Единственная проблема заключается в том, что это только загружает модель, если таблица данных находится в базе данных приложения, но эти динамические таблицы создаются в их собственной базе данных, поэтому мне нужно каким-то образом изменить useDbConfig модели ... любые идеи? – 2009-05-14 10:01:47
Нашел. Спасибо за публикацию, я просмотрел API для loadModel() и нашел ClassRegistry (который он вызывает), которому может быть передан массив, включающий в себя, какой datastore использовать. – 2009-05-14 10:11:05
$ this-> newTable-> useDbConfig = 'otherDatabaseConfigVar'; – neilcrookes