我想得到一个集合中不存在的集合。如下所示:
ids = [1,2,3,4,5] # 2,3,4 is not exists
User.where(:id => ids)
我想要一套 [2,3,4]
在不影响性能的情况下,有好的解决方案吗?
我想得到一个集合中不存在的集合。如下所示:
ids = [1,2,3,4,5] # 2,3,4 is not exists
User.where(:id => ids)
我想要一套 [2,3,4]
在不影响性能的情况下,有好的解决方案吗?
使用以下内容:
ids - User.where(id: ids).select(:id).map(&:id)
对于 Rails 3.2 pluck
,它返回单个列的值:
User.pluck(:id)
# => [1,5,6,7,...] # all user ids
或者,在您的情况下:
ids = [1,2,3,4,5] # 2,3,4 do not exist
ids - User.where(id: ids).pluck(:id)
# => [1,5]