Ruby on Rails 3.1.3で非常に複雑なクエリを作成していますが、find_by_sqlを使用しています。find_by_sqlがレールで動作していません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はまったくありません。
バグですか?誰でも助けてくれますか?