Categories
open all | close allTags
タグ | スキンエンジン | モデル | Subversion | 国際化 | rake | フォーム | OpenID | デュアル・コア | 名称 | 認証 | テスト | RESTful | ドキュメント | Aptana | Migration | パソコン | Flash | CSRF | アクセス制御Search
:includeと:selectは共存できない
まだTagCloudではまっているのですが,何かというとタグクラウドを作るためにはタグごとに使われているアイテム数を調べる必要があるのです。タグごとに調べるのであればActiveRecord使って簡単に書けますが,どうみても効率が悪そう。SQL文一発で実行したいのです。group byしてcount取れば行けるのはSQLレベルでは確認したのですが,なかなかRailsでうまく行きません。生成したSQLを見るとselectにcountが入っていません。
さらに理由を調べると,どうやら:includeオプションを使うと:selectは使われないそうな。:includeは結構膨大なテーブル検索をかけるのでこれも効率悪そうなので,:joins使って実現することにします。テーブル名を直接指定しないといけないのでちょっと面倒ですが。
Comments
No comments yet. You can be the first!