2011-11-28 63 views
1

當我從我的數據庫中的表中獲得我的DQL查詢並返回var_dump()例如該行的ID將爲string類型,儘管事實上它是一個無符號INT(10)in數據庫,這是非常煩人的,當我想echo json_encode($row->toArray());。每個整數將用引號包裝。Doctrine ORM僅返回字符串

我怎麼能指導原則投下正確的類型,而不是讓他們「原樣」喜歡這裏描述:http://www.doctrine-project.org/jira/browse/DC-769

+0

爲什麼重要的是它們屬於特定類型? –

+0

在由許多不同的客戶和程序訪問的REST-API中使用它們非常重要。不要將它們「打印」爲float或int會導致錯誤。你能分辨一個電話號碼和一個參考ID之間的區別,而不需要它的數據類型嗎? – kernel

+1

你在後端使用了哪些數據庫?我注意到,使用PDO時,當您從Postgres數據庫獲取數據時,驅動程序將嘗試爲列使用適當的PHP數據類型,但對於MySQL,它總是返回字符串。我不知道這是否與您的問題有關,但我認爲這可能對您有所幫助。 – GordonM

回答

0

我發現我其實是使用(通過APT安裝V1.2.8)學說版本是太舊以至於無法處理此功能。當我更新到Doctrine 2時,我描述的問題已經解決。

如果您有同樣的問題,您應該考慮更新,但要注意從Doctrine1到Doctrine2所做的更改!遷移可能需要一些時間。