Ruby on rails ActiveRecord:通过模型按数量分组
考虑到这些课程Ruby on rails ActiveRecord:通过模型按数量分组,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,考虑到这些课程 class Account < ApplicationRecord has_many :team_memberships has_many :follow_ups, through: :team_memberships end class TeamMembership < ApplicationRecord belongs_to :account has_many :follow_ups end class FollowUp < Applic
class Account < ApplicationRecord
has_many :team_memberships
has_many :follow_ups, through: :team_memberships
end
class TeamMembership < ApplicationRecord
belongs_to :account
has_many :follow_ups
end
class FollowUp < ApplicationRecord
belongs_to :team_membership
has_one :account, through: :team_membership
end
但是什么才是正确的ActiveRecord查询呢
在ActiveRecord中查询以获取具有多个未完成后续操作的所有帐户
只需将后续操作
加入账户
并通过后续操作过滤即可解决此问题。在
完成:
Account.joins(:follow_ups).where(follow_ups: { completed_at: nil })
如果您需要不完整的跟进次数
大于特定的次数,则分组方式
和拥有
可能会有帮助:
Account
.joins(:follow_ups)
.where(follow_ups: { completed_at: nil })
.group(:id)
.having("COUNT(follow_ups.id) > 1")
在ActiveRecord中查询以获取具有多个未完成后续操作的所有帐户
只需将后续操作
加入账户
并通过后续操作过滤即可解决此问题。在
完成:
Account.joins(:follow_ups).where(follow_ups: { completed_at: nil })
如果您需要不完整的跟进次数
大于特定的次数,则分组方式
和拥有
可能会有帮助:
Account
.joins(:follow_ups)
.where(follow_ups: { completed_at: nil })
.group(:id)
.having("COUNT(follow_ups.id) > 1")
这很接近,但我需要有多个未完成跟进的账户。@jayqui然后分组并拥有可能会帮助您(更新我的答案)这很接近,但我需要有多个未完成跟进的账户。@jayqui然后分组并拥有可能会帮助您(更新我的答案)