2011-06-24 16 views
2

BETWEENステートメントと最後のGROUP BY IDと一緒にORステートメントの範囲を使用するカスタムクエリを設定しています。 。 INNERとLEFT結合操作はもちろんですがRailsのカスタムSQLクエリをActiveRecordモデルにマップ

アクティブレコードを使用してセットアップすることはできません。そこで私はModel.connection.select_all()コマンドを使ってクエリを起動しました。これは機能しますが、すべての行をその特定のモデルにマップする方法はありますか?

答えて

9

特にRails 3を使用している場合、Railsはかなり強力です。& ARel。だから、もしあなたが実際にならがrailsを使ってあなたの質問を書くことができれば私は驚くことはありません。

しかし、生のSQLを書きたい場合があります。

Model.connectionの代わりにModel.find_by_sql(QUERY_STRING)を使用してください。

クエリは、あなたは、PostgreSQLを使用している場合ちょうどあなたが唯一select "model.*"

+2

これはさらに行くために、おそらく最良の解決策であることを確認、あなたはこのクエリのビューを作成することもできます自動的に解析されます。この方法70〜72の[KnowSQLプレゼンテーション](http://knowsql.heroku.com/#1)スライドを参照してください。 –

関連する問題