Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何获取Rails中集合中的不存在集_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 3.1_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 如何获取Rails中集合中的不存在集

Ruby on rails 如何获取Rails中集合中的不存在集,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,我想得到一套收藏中不存在的东西。例如: ids = [1,2,3,4,5] # 2,3,4 is not exists User.where(:id => ids) ids - User.where(id: ids).select(:id).map(&:id) 我想买一套[2,3,4] 在不影响性能的情况下,有一个好的解决方案吗?使用以下方法: ids = [1,2,3,4,5] # 2,3,4 is not exists User.where(:id => ids)

我想得到一套收藏中不存在的东西。例如:

ids = [1,2,3,4,5] # 2,3,4 is not exists
User.where(:id => ids)
ids - User.where(id: ids).select(:id).map(&:id)
我想买一套[2,3,4]

在不影响性能的情况下,有一个好的解决方案吗?

使用以下方法:

ids = [1,2,3,4,5] # 2,3,4 is not exists
User.where(:id => ids)
ids - User.where(id: ids).select(:id).map(&:id)
使用以下命令:

ids = [1,2,3,4,5] # 2,3,4 is not exists
User.where(:id => ids)
ids - User.where(id: ids).select(:id).map(&:id)
对于Rails 3.2,它返回单个列的值:

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]
对于Rails 3.2,它返回单个列的值:

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]