0
この質問は、私がRails 2.3.5(はい、古い)と完全なnewbをRoRで使っている点を除いて、[1]とかなり似ています。 ConfigfileとSignoffという2つのモデルがあります。Ruby on Rails 2の関連カウントに関するクエリ
サインオフの回数が<であるすべてのConfigfilesを検索したい2もちろん、私は手動で配列をフィルタリングすることでこれを行うことができますが、このデータベースは大きく、かなり遅いです。
class Configfile < ActiveRecord::Base
belongs_to :computer
has_many :signoffs,
:dependent => :destroy
end
と
class Signoff < ActiveRecord::Base
belongs_to :configfile
end
これはRailsの中で行うのはかなり簡単なはずの何かのように思えるが、私はそれを把握することはできません。 私のクエリはこれまでのように見えますが、サインオフの数で制限するための何かを得ていません。
configs = c.configfiles.find(:all,
:include => :signoffs,
:order => 'filename')
[1]と等価rails3とあなたに同じを与えるべきRails 3 query on condition of an association's count
はどうもありがとうございました!私が働いていた最終的な解決策は、 'configfiles.find(:all、:group =>" configfile_id "、:joins =>:signoffs、:having =>" COUNT(*)<2 ")' (count_all COUNT(*)と.count to .find) –
私は自分の答えを編集しました。 – klochner