我正在使用Symfony 2并希望使用Doctrine导入本地CSV文件:
$connection = $this->entityManager->getConnection();
$output->writeln('Importing Articles');
$path = $this->importHelperService->getCSVBasePath() . 'PromotionArtikel.csv';
$query =
<<<EOF
LOAD DATA LOCAL INFILE '$path' INTO TABLE ProductCSV
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
EOF;
$statement = $connection->prepare($query);
$statement->execute();
但我得到了
[Symfony的\元器件\调试\异常\ ContextErrorException]
警告:PDOStatement :: execute():LOAD DATA LOCAL INFILE禁止
所以我搜索如何解决这个问题并找到了:
Symfony2 Doctrine PDO MySQL Connection with LOAD DATA LOCAL INFILE
但是当我尝试将选项放入config.yml
时doctrine:
dbal:
options:
1001: true
我收到了InvalidConfigurationException:
InvalidConfigurationException:无法识别的选项&#34;选项&#34;下 &#34; doctrine.dbal&#34;
在我的composer.lock中,我搜索了doctrine / dbal,我可以看到安装了2.5.12版本。
&#34; name&#34;:&#34; doctrine / dbal&#34;, &#34;版本&#34;:&#34; v2.5.12&#34;,
任何人都知道如何解决这个问题?
编辑:由我自己找到:
在我的配置中有不同的连接。所以在这种情况下 &#34;选择&#34;必须在默认连接中配置:
doctrine:
dbal:
connections:
default:
options:
1001: true
答案 0 :(得分:2)
应根据DoctrineBundle 2.5 configuration docs
在dbal.connections.<connection-name>.options
定义连接选项
doctrine:
dbal:
connections:
default:
options:
# an array of options
key: []