1

私の問題に関する他の多くの投稿を読みましたが、解決方法がわかりません:

2 つのテーブルを読み取り、それらを 1 つの一時テーブルに結合したいと考えています。

次のコードを持つ他のユーザーのように、私は試しました:

    $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' 

助けてください :(

Mさんはじめまして。

4

0 に答える 0