2013-06-23 21 views
0

一個基本的ActiveRecord查詢返回的不帶引號ID的數據類型,例如:的find_by_sql改變別名列

User.first.attributes => { 「ID」=> 2,...

在的find_by_sql,混疊列與值引號回來了,看到ID在這種情況下:

所有= User.find_by_sql( 「爲U_ID從用戶U選擇u.id」)first.attributes => {「u_id」=>「2」}

如何避免值的引用?

+0

爲什麼要使用'find_by_sql'和別名'id'? –

+0

需要在多個表中合併3選擇語句。別名允許我確定哪些id屬於哪些模型,但隨後將它們更改爲帶引號的字符串。 – user1192805

回答

0

find_by_sql按名稱將返回的列映射到對象字段。如果你在resultset中返回一個不同的列名Rails無法知道返回的類型。 (所以它可能將所有內容映射到字符串 - 狂猜)