gpt4 book ai didi

ruby-on-rails-3 - 使用SearchKick/ElasticSearch编制索引时如何急于加​​载相关模型?

转载 作者:行者123 更新时间:2023-12-02 22:59:29 25 4
gpt4 key购买 nike

这是我的search_data方法:

def search_data
{
email: email,
skills: interests.pluck(:name)
}
end

我的 User has_many :skills。当我运行 User.where(conditions).reindex时,它会加载 skills记录,例如
SELECT * FROM skills WHERE skills.user_id = 1
SELECT * FROM skills WHERE skills.user_id = 2
SELECT * FROM skills WHERE skills.user_id = 3
SELECT * FROM skills WHERE skills.user_id = 4
. . .

我想知道是否可以像这样加载它:
SELECT * FROM skills WHERE skills.user_id IN (1, 2, 3, 4, . . .)

最佳答案

索引时可以使用急切的加载,因此要重新索引User模型,您可以编写类似User.includes(:skills).reindex的代码

然后,您也需要在此处使用map而不是pluck:

def search_data
{
email: email,
skills: interests.map(&:name)
}
end

关于ruby-on-rails-3 - 使用SearchKick/ElasticSearch编制索引时如何急于加​​载相关模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com