我的工作有has_many
个类别
我的公司有has_many
个类别。
目前我只为工作和业务分配1个类别,但这会在以后更改,这就是我创建has_many关联的原因。
分配给企业和作业的类别来自使用选择菜单选择的同一类别表,目的是匹配它们。
如果有工作,我怎样才能找到与工作类别匹配的商家。
例如
job = Job.find(1)
> job.categories.first.name
=> "programmer"
如果我想查找列出programmer
类别的所有商家,我该怎么办?
我想我可能需要加入或包含类似的内容,但我不确定应该如何编写。
Business.includes(:categories).where(:categories == ...)
答案 0 :(得分:1)
您的代码几乎是正确的。这应该有效:
Business.joins(:categories).where(categories: {name: 'programmer'})
或者,如果您有多个类别:
Business.joins(:categories).where(categories: {name: ['programmer', 'other']})