我可以通过在PDO构造函数中传递一个选项或使用PDOException
使PDO将SQL语法错误抛出为PDO::setAttribute
。 Doctrine::getConnection
返回的对象外观和气味就像一个PDO实例,但它没有setAttribute
方法,所以我无法告诉它抛出错误。
知道我是怎么做到的吗?
答案 0 :(得分:0)
答案是driverOptions选项,相当于传递给PDO constructor的$driver_options
数组。将其设置为:
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
或者,当使用Symfony时,在Yaml配置文件中设置这些常量的值:
doctrine:
dbal:
options: { 3: 2 }
请注意,此处的设置称为“options”而不是“driverOptions”。