1
我可以通過在PDO構造函數中傳遞一個選項或使用PDO::setAttribute
來使PDO拋出SQL語法錯誤爲PDOException
。由Doctrine::getConnection
返回的對象看起來和聞起來像一個PDO實例,但它沒有setAttribute
方法,所以我不能告訴它拋出錯誤。我該如何讓Doctrine拋出SQL錯誤?
任何想法,我怎麼做?
我可以通過在PDO構造函數中傳遞一個選項或使用PDO::setAttribute
來使PDO拋出SQL語法錯誤爲PDOException
。由Doctrine::getConnection
返回的對象看起來和聞起來像一個PDO實例,但它沒有setAttribute
方法,所以我不能告訴它拋出錯誤。我該如何讓Doctrine拋出SQL錯誤?
任何想法,我怎麼做?
答案是driverOptions選項,它相當於$driver_options
數組傳遞給PDO constructor。無論是將其設置爲:
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
,或者使用Symfony的時候,設置在YAML配置文件的常量的值:
doctrine:
dbal:
options: { 3: 2 }
注意,這裏的設置被稱爲「選項」代替「 driverOptions」。
什麼給你'var_dump($ your_db);'?需要進一步研究 – hek2mgl 2013-04-27 22:48:18
@ hek2mgl:'object(Doctrine \ DBAL \ Connection)' – Hubro 2013-04-27 23:18:43
我不期望它擴展PDO。它只是一個包裝器(沒有看到代碼,會做)。那麼構造函數中的$ config'參數呢? – hek2mgl 2013-04-27 23:21:37