【问题标题】:named_scope in rails 2rails 2中的named_scope
【发布时间】:2011-08-02 13:12:14
【问题描述】:

我有两个模型.. MemberMemberMeeting

会员有_many member_meetings。

我在 Member 模型中编写了一个 named_scope,以便它在 member_meetings 上执行连接操作。

现在是最困难的部分,

我有一个布尔列 xyz。我需要在 named_scope 中检查 count(xyz=true) > 1

【问题讨论】:

  • 您的实际代码是什么样的?特别是您已经拥有的命名范围。 xyzmember_meetings 表的列吗?
  • 是的.. xyz 是 member_meetings 中的布尔列

标签: ruby-on-rails ruby named-scope


【解决方案1】:

您确定要为此设置范围吗?我假设您想要一份所有成员的列表,这些成员拥有不止一次 xyz 为真的会议,对吗?在这种情况下,应该这样做:

members = Member.include(:member_meetings)
members.select{ |m| m.member_meetings.select(&:xyz).size > 1 }

【讨论】:

    【解决方案2】:

    将这个 named_scope 添加到 Member 应该这样做:

    named_scope :my_scope, :include => :member_meetings, :conditions => { 'member_meetings.xyz' => true }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多