将模型连接到.csv文件

时间:2014-12-28 15:56:42

标签: cakephp csv datasource

这是我第一次这样做,而且我已经陷入了一个紧迫的截止日期。

我正在尝试从.csv文件中读取我输入的禁用词列表到数组中。这就是我现在的位置......

.csv文件名为forbidden.csv,位于app/webroot/files/

我从github下载了CsvSource文件并将其放在app/Model/DataSource/中。

然后我在app/Config/database.php中添加了它:

public $csv = array(
    'datasource' => 'CsvSource',
    'path' => 'files',
);

这是我的Csv模型:

class Csv extends AppModel {

    public $useDbConfig = 'csv';

}

通过在CsvSource的connect函数中调试,我发现'files'是读取路径的唯一方法,我不知道如何设置文件名。这是调试和结果:

CsvSource.php,第128行

$this->connection = new Folder($this->config['path'], $create, $mode);
debug($this->connection);

输出:

object(Folder) {
    path => 'C:\wamp\www\gallery\app\webroot\files'
    sort => false
    mode => (int) 493
    [protected] _messages => array()
    [protected] _errors => array()
    [protected] _directories => null
    [protected] _files => null
}

那么,我该如何从这里继续?

1 个答案:

答案 0 :(得分:1)

在你的模特中:

public $useTable = 'someFileName';

请参阅数据源的line 193

$filename = $model->table . '.' . $this->config['extension'];

如果不是csv,则必须通过配置更改扩展名。