作为Web应用程序的一部分,用户可以上载数据文件,这会在专用的MySQL数据库中生成一个新表来存储数据。然后,他们可以通过各种方式来操纵该数据。
这个应用程序的下一个版本是用CakePHP编写的,目前我还不知道如何在运行时动态分配这些表。
我设置了不同的数据库配置,可以很好地在数据上传上创建表,但是一旦完成,我就无法从控制器访问新表,这是数据操纵记录CRUD操作的一部分。
我希望这会遵循
function controllerAction(){
$this->uses[] = 'newTable';
$data = $this->newTable->find('all');
//use data
}
但它返回错误
未定义的属性:
ReportsController :: $ newTable
致命错误:调用成员函数
在非对象中的find()
/app/controllers/reports_controller.php
在第60行
谁能帮忙。
最佳答案
您需要调用$this->loadModel('newTable')
来正确初始化它。 Cake需要正确地初始化$ this-> newTable,并调用所有回调。
当然,您不需要$this->uses[] = 'newTable';
,除了向$ uses数组添加另一个值之外,它什么也没做。
关于mysql - CakePHP访问动态创建的表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/862303/