ruby-on-rails - rails:优化对单个 sql 查询的 ar 关系的多个 map 调用?
问题描述
我有以下关系:
class Bookmark
belongs_to :collection
end
class Collection
belongs_to :user
end
class User
has_many :collections
end
我正在尝试使用以下地图调用获取外部表记录列表
Bookmark.where(id: [...]).map(&:collection).map(&:user)
这可行,但只是想知道是否有任何方法可以将其优化为单个 sql 查询?在将连接用于 has_many 关联之前,我已经这样做了,但我不确定如何将它应用于像上面这样的单个子关联。
解决方案
是的,应该是一样的
User.joins(:collections).where(collections: { bookmark_id: [...] })
推荐阅读
- ios - iOS UITesting 元素出现几秒钟
- mysql - 如何通过 mysql 使用 group 进行嵌套选择
- python - Python - For 循环数百万行
- python - Pandas 将小时日期 excel 表重新排列为日期时间数据框
- excel - 如何在 2 个不同选项卡上的一个 Excel 中通过 SSRS 报告导出摘要和详细信息钻取
- github - 避免在 git pull 中获取少数版本文件的更新
- angular - AgGrid 更新到 v19,我做错了什么?
- ios - 如何将 SDWebImage 转换为 UIImage?
- python - 如何正确使用来自 lxml 的 xmlfile api
- javascript - CodeSignal 挑战:电话