J'espère qu'il y a une solution facile qui n'implique pas find_by_sql
Si ce n'est pas le cas, je suppose que cela devra fonctionner.
J'ai trouvé cet article qui y fait référence :
Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) })
qui est identique à
SELECT * FROM topics WHERE forum_id IN (<@forum ids>)
Je me demande s'il y a un moyen de faire NOT IN
avec ça, comme :
SELECT * FROM topics WHERE forum_id NOT IN (<@forum ids>)
3 votes
Pour information, Datamapper a un support spécifique pour le NOT IN. Exemple :
Person.all(:name.not => ['bob','rick','steve'])
1 votes
Désolé d'être ignorant, mais qu'est-ce que Datamapper ? fait-il partie de rails 3 ?
2 votes
Le mappeur de données est un moyen alternatif de stocker les données, il remplace Active Record par une structure différente et vous écrivez alors différemment les choses liées au modèle, comme les requêtes.