【发布时间】:2023-01-24 03:53:50
【问题描述】:
给定模型:
-
Member->belongs_to :category -
Category->has_many :members
我想知道每个类别是否有成员,风格如下:
----------------------
| name | has_members |
======================
| cat1 | true |
| cat2 | false |
| cat3 | true |
----------------------
以下解决方案实现这一目标的速度太慢:
Category.eager_load(:members).map{|s| s.members.any?}-
Category.includes(:members).map{|s| s.members.any?}
这将是一个计数器缓存的用例,但我想知道这是否可以通过一些智能 ARel 或 SQL 来解决。
实现这一目标的最快方法是什么?
【问题讨论】:
标签: ruby-on-rails activerecord has-many