【问题标题】:Matching has_many association on two models在两个模型上匹配 has_many 关联
【发布时间】:2012-11-29 04:29:26
【问题描述】:

我有一份工作,其中has_many 类别 我有一个has_many 类别的业务。

目前我只为工作和业务分配 1 个类别,但这会在以后发生变化,这就是我创建 has_many 关联的原因。

分配给企业和工作的类别来自使用选择菜单选择的同一类别表,以匹配它们。

如果有工作,我如何找到与工作类别相匹配的企业。

例如 job = Job.find(1)

> job.categories.first.name
 => "programmer"

如果我想查找列出的所有具有programmer 类别的企业,我该怎么做?

我想我可能需要加入或包含与此类似的内容,但我不确定应该如何准确编写。

Business.includes(:categories).where(:categories == ...)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord


    【解决方案1】:

    您的代码几乎是正确的。这应该有效:

    Business.joins(:categories).where(categories: {name: 'programmer'})
    

    或者如果您有多个类别:

    Business.joins(:categories).where(categories: {name: ['programmer', 'other']})
    

    【讨论】:

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