Paginate在Cakephp中动态创建表格?

时间:2011-01-19 08:21:26

标签: php cakephp model dynamic paginate

请查看示例代码

            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中动态创建的表。

1 个答案:

答案 0 :(得分:1)

听起来你正在做的事情很糟糕。除此之外,你不应该调用CREATE TABLE,TRUNCATE,COMMIT等。

查看sest套件,了解如何正确创建和删除表,阅读关于如何进行事务的api。像http://api13.cakephp.org/class/data-source#method-DataSourcebegin

这样的东西

表格名称应为复数,以便蛋糕可以自动执行此操作,因此您的示例将无效。

您可以通过

获取模型的实例
$Something = ClassRegistry::init(Inflector::classify($tableName . '_suffix'));