2013-04-27 51 views
1

我可以通過在PDO構造函數中傳遞一個選項或使用PDO::setAttribute來使PDO拋出SQL語法錯誤爲PDOException。由Doctrine::getConnection返回的對象看起來和聞起來像一個PDO實例,但它沒有setAttribute方法,所以我不能告訴它拋出錯誤。我該如何讓Doctrine拋出SQL錯誤?

任何想法,我怎麼做?

+0

什麼給你'var_dump($ your_db);'?需要進一步研究 – hek2mgl 2013-04-27 22:48:18

+0

@ hek2mgl:'object(Doctrine \ DBAL \ Connection)' – Hubro 2013-04-27 23:18:43

+0

我不期望它擴展PDO。它只是一個包裝器(沒有看到代碼,會做)。那麼構造函數中的$ config'參數呢? – hek2mgl 2013-04-27 23:21:37

回答

0

答案是driverOptions選項,它相當於$driver_options數組傳遞給PDO constructor。無論是將其設置爲:

array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) 

,或者使用Symfony的時候,設置在YAML配置文件的常量的值:

doctrine: 
    dbal: 
     options: { 3: 2 } 

注意,這裏的設置被稱爲「選項」代替「 driverOptions」。