0
我需要在我的Rails應用程序執行一些自定義查詢,並想知道至極的做法是更好:差異的find_by_sql
results = ActiveRecord::Base.connection.execute(query)
或者
Model.find_by_sql(query)
去過閱讀文件,但沒有真正得到它們的表現。
我需要在我的Rails應用程序執行一些自定義查詢,並想知道至極的做法是更好:差異的find_by_sql
results = ActiveRecord::Base.connection.execute(query)
或者
Model.find_by_sql(query)
去過閱讀文件,但沒有真正得到它們的表現。
execute
是一種低級方法。它會返回數據庫驅動程序返回的任何內容,例如Mysql2::Result
的實例。您可以執行任何類型的查詢
find_by_sql
返回適當類的ActiveRecord對象數組,從結果中構造出來(所以傳遞不產生合適結果集的查詢是沒有意義的)。
中途之家是在連接如select_all
,select_values
等。這些不創建活動記錄對象的方法,但做原始駕駛員結果轉換成數組,哈希,字符串等
相當清楚,感謝的人 – ntonnelier