pri*_*ry0 13 ruby activerecord ruby-on-rails
如何仅选择那些具有关联标记记录的员工?换句话说,只选择具有一个或多个与之关联的标记记录的员工记录.
class Employee < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :employees
end
Run Code Online (Sandbox Code Playgroud)
下面的查询(这是错误的)将让你们了解我正在尝试做什么.
Employee.includes(:tags).where("tags.id != nil")
Run Code Online (Sandbox Code Playgroud)
dee*_*our 25
您可以使用 .joins
Employee.joins(:tags)
Run Code Online (Sandbox Code Playgroud)
这个生成的SQL包含和INNER JOIN在tags表上,省略employees没有关联tags记录的表记录.
| 归档时间: |
|
| 查看次数: |
3403 次 |
| 最近记录: |