我在Ruby on Rails 3.1.3中編寫了一個相當複雜的查詢,而且我正在使用find_by_sql。find_by_sql不能在rails上工作3.1.3
但我注意到一個非常奇怪的行爲,即使我用非常簡單的查詢使用find_by_sql。
下面是一個簡單的例子:
讓我們說,我有兩個型號和相關表:
Model 1: Company
Table 1: companies
fields: id, name, address
| id | name | address |
+----+------+-----------------+
| 1 | ACME | Bond street, 56 |
和:
Model 2: Employee
Table 2: employees
fields: id, name, age
| id | name | age |
+----+------+-----+
| 1 | Fred | 56 |
| 2 | Adam | 27 |
這裏是什麼情況;如果我寫:
Company.find_by_sql("SELECT * FROM `employees`")
我得到:
Company Load (0.3ms) SELECT * from `employees`
=> [#<Company id: 1, name: "Fred">, #<Company id: 2, name: "Adam">]
我只得到員工的名字相匹配的公司(即現場年齡丟失)中的那些領域! 根本沒有@attributes。
這是一個錯誤?誰能幫幫我嗎?