Paginate 在 Cakephp 中动态创建表?

发布于 2024-10-12 10:32:56 字数 754 浏览 3 评论 0原文

请查看示例代码

            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;');

我想对创建的新表进行分页? 逻辑是每次有人运行脚本时都会创建一个新的随机命名表 ->然后分页->然后删除...或者我如何将模型分配给 cakePHP 中动态创建的表。

Please look at the sample code

            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;');

I want to paginate the new table created?
Logic is each time a person runs the script a new random named table will be created -> then paginated -> then droped ... Or how do I assign Model to dynamically created tables in cakePHP.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

闻呓 2024-10-19 10:32:56

听起来你所做的事情很糟糕。除此之外,您不应该调用 CREATE TABLE、TRUNCATE、COMMIT 等命令。

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

另外,表名应该是复数,以便 cake 能够自动执行此操作,因此您的示例将不起作用。

您可以通过执行以下操作来获取模型的实例

$Something = ClassRegistry::init(Inflector::classify($tableName . '_suffix'));

its sounds like what you are doing is bad. Besides that you should not be calling things like CREATE TABLE, TRUNCATE, COMMIT etc.

Look at the sest suite for how to properly create and delete tables, read the api on how to do transactions. things like http://api13.cakephp.org/class/data-source#method-DataSourcebegin

also the table name should be plural for cake to be able to do this auto, so your example would not work.

You can get a instance of the model by doing

$Something = ClassRegistry::init(Inflector::classify($tableName . '_suffix'));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文