How to exclude an array of ids from query in Rails (using ActiveRecord)?
Posted
by
CuriousYogurt
on Stack Overflow
See other posts from Stack Overflow
or by CuriousYogurt
Published on 2011-01-03T00:49:14Z
Indexed on
2011/01/03
0:54 UTC
Read the original article
Hit count: 103
activerecord
|ruby-on-rails3
I would like to perform an ActiveRecord query that returns all records except those records that have certain ids. The ids I would like excluded are stored in an array. So:
ids_to_exclude = [1,2,3]
array_without_excluded_ids = Item. ???
I'm not sure how to complete the second line.
Background: What I've already tried:
I'm not sure background is necessary, but I've already tried various combinations of .find and .where. For example:
array_without_excluded_ids = Item.find(:all, :conditions => { "id not IN (?)", ids_to_exclude })
array_without_excluded_ids = Item.where( "items.id not IN ?", ids_to_exclude)
These fail. This tip might be on the right track, but I have not succeeded in adapting it. Any help would be greatly appreciated.
© Stack Overflow or respective owner