作为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/

10-10 02:36