0

基本的な ActiveRecord クエリは、引用符で囲まれていない ID を返します。次に例を示します。

User.first.attributes => {"id"=>2, ...

find_by_sql では、エイリアス化された列が値を引用符で囲んで返されます。この場合は id を参照してください。

all = User.find_by_sql("SELECT u.id as u_id from users u").first.attributes => {"u_id"="2"}

値の引用をどのように回避できますか?

4

1 に答える 1

0

find_by_sql は、返された列をオブジェクト フィールドに名前でマップします。結果セットで別の列名を返す場合、Rails は返す型を知る方法がありません。(したがって、すべてを文字列にマップする可能性があります-ワイルドな推測)

于 2013-06-23T20:51:11.633 に答える