提问人:meraioth ulloa 提问时间:10/24/2023 最后编辑:meraioth ulloa 更新时间:10/24/2023 访问量:24
在 Rails 中延迟预加载部分关系列
Lazy preloading only some columns of relations in Rails
问:
我目前正在使用 ar_lazy_preload Gem 进行延迟预加载,但有时我只需要预加载这些关系的某些属性,我想知道是否有办法使用 select 仅检索某些列,也许使用 Arel?(我不是很熟悉)
举个例子: 用户 - 人:1 对 1 关系
User.lazy_preload(:p erson).all ,但从人与人的关系来看,只需要出生日期
我发现的最接近的问题是它不适用于ar_lazy_preload
我希望延迟预加载,但使用一个查询,该查询使用选择仅检索我需要的内容
users = User.lazy_preload(person: [:date_of_birth]).all
进行 1 次查询
Select * from users
users.first.person.date_of_birth
进行另一个查询
Select people.date_of_birth from people where people.user_id in ($ids from first query)
答: 暂无答案
评论