gpt4 book ai didi

ruby-on-rails - 检查 ActiveRecord 是否存在多个记录?

转载 作者:行者123 更新时间:2023-12-04 01:37:23 25 4
gpt4 key购买 nike

使用 #exists?当至少存在一个键时,给出误报(即将返回真)。

MyModel.exist?(key: [:risk_score, :i_made_this_up]) # => true

对于少量检查,我可以执行以下操作:
[:risk_score, :i_made_this_up].all? { |key| MyModel.exists?(key: key) }

但这是一个 N+1 查询,如果我有很多键要检查怎么办?

最佳答案

您可以从给定的键中减去可能的键,结果应该是一个空数组:

  unknown_keys = keys - MyModel.pluck(:key)
raise(ArgumentError, "one or more keys do not exist: #{unknown_keys.join(', ')}") unless unknown_keys.empty?

关于ruby-on-rails - 检查 ActiveRecord 是否存在多个记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034138/

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