请查看示例代码
mysql_query('SET AUTOCOMMIT=0;');
mysql_query('START TRANSACTION;');
$tableName = rand().'_table;'
$this->loadModel('Home'); // Model for homes_table
$sql = 'CREATE TABLE '.$tableName.'_table LIKE homes_table';
mysql_query($sql);
// FEW INSERT STATEMENTS ON THE NEW TABLE $tableName //
/*
Here I want to paginate the new table
using $this->paginate();
HOW?
*/
mysql_query('TRUNCATE table '.$tableName);
mysql_query('COMMIT;');
我想分页创建新表吗? 逻辑是每次一个人运行脚本时,将创建一个新的随机命名表 - >然后分页 - >然后droped ...或者我如何将模型分配给cakePHP中动态创建的表。
答案 0 :(得分:1)
听起来你正在做的事情很糟糕。除此之外,你不应该调用CREATE TABLE,TRUNCATE,COMMIT等。
查看sest套件,了解如何正确创建和删除表,阅读关于如何进行事务的api。像http://api13.cakephp.org/class/data-source#method-DataSourcebegin
这样的东西表格名称应为复数,以便蛋糕可以自动执行此操作,因此您的示例将无效。
您可以通过
获取模型的实例$Something = ClassRegistry::init(Inflector::classify($tableName . '_suffix'));