0

我在控制器中的一个函数中创建了这个:

配置::write('tmpTable', 'table-' . date("dmYHis"));

在此之后,我重定向到查看并向创建“tmpTable”的同一控制器发送一个发布请求,当我尝试读取它时没有找到任何东西,这个 Configure::read('tmpTable') 只是空的

我也尝试使用 $GLOBALS[] 但它的效果与 Configure::read() 相同

而且 $this->Import->setSource() 不保存表格,我总是要重新设置表格才能与她一起工作

这是代码:

function index() {
    $tmp = Configure::read('tmpTable');
    if ($tmp != '') {
        $this->Import->setSource(Configure::read('tmpTable'));
        $this->set('rows', $this->Import->find('all'));
    }
}

function printdata() {
    App::import('Vendor', 'parsecsv');

    if ($this->request->is('POST') && !empty($this->request->data)) {

        $csv = new parseCSV($this->request->data['Import']['CsvFile']['tmp_name'], ',');
        $this->set('csv', $csv);
        $this->createTable($csv);
    }
}

function createTable($csv = null) {

    Configure::write('tmpTable', 'table-' . date("d-m-Y-H-i-s"));
    $sql = "CREATE TABLE IF NOT EXISTS  `" . Configure::read('tmpTable') . "` (`id` int(11) NOT NULL AUTO_INCREMENT,";

    foreach ($csv->titles as $value) {
        $sql = $sql . " `" . $value . "` varchar(500) NULL,";
    }

    $sql = $sql . " PRIMARY KEY (`id`));";
    $this->Import->query($sql);
}

function insertdata() {

    $this->Import->setSource(Configure::read('tmpTable'));

    if (!empty($this->request->data)) {
        $this->Import->saveAll($this->request->data['Import']);
    }

    $this->redirect(array('action' => 'index'));
}
4

0 回答 0