我在控制器中的一个函数中创建了这个:
配置::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'));
}