如何使用CakePHP2.x中的临时表

时间:2013-02-08 12:55:28

标签: model cakephp-2.1 temp-tables

我阅读了很多关于我的问题的其他帖子,但我不知道如何解决它:

我读了2个表并希望将它们组合在一个临时表中。

我尝试过,像其他用户一样使用以下代码:

    $tmpModel = 'ListTransactions';
    $tmpTable = 'list_transactions';

    $this->ListTransactions->query("CREATE TEMPORARY TABLE `".$tmpTable ."`
    (
    `id` int(11) NOT NULL,
    `user_id` int(11) NOT NULL,
    `sum` decimal(10,2) NOT NULL,
    `date` datetime NOT NULL,
    `class` enum('Level1','Level2','Level3','Out') NOT NULL DEFAULT 'Out',
    `program_id` int(11) NULL,
    `program_title` varchar(150) NULL,
    PRIMARY KEY (`id`)
    )"
    );
    App::import('Model', $tmpModel);
    $this->loadModel($tmpModel);

表创建返回true,所以我认为表已创建。 但是当我想保存一些数据时,我得到一个“表不存在” - 错误。

    foreach ($payments as $payment) {
        $this->ListTransactions->create();
        $this->ListTransactions->set(array(
            'id' => $payment['Payments']['id'],
            'sum' => $payment['Payments']['sum'],
            'date' => $payment['Payments']['check_date'],
            'class' => 'Out',
            'user_id' => $UserId
        ));
        $this->ListTransactions->save();
    }
     Error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'list_transactions' doesn't exist

    SQL Query: SELECT COUNT(*) AS `count` FROM `list_transactions` AS `ListTransactions` WHERE `ListTransactions`.`id` = '1' 

请帮助:(

问候 微米。

0 个答案:

没有答案