Comment utiliser le " où "la méthode de" ActiveRecord::QueryMethods " afin de limiter la recherche?
Je suis en utilisant Ruby on Rails 3 et je voudrais limiter une recherche dans un where
méthode de ActiveRecord::QueryMethods
à l'aide de quelque chose que les suivantes
Users.where(:name => "Test_name", :limit => 10)
Users.where(:name => "Test_name").limit(10)
Qui est, je voudrais requête à seulement 10 dossiers. Comment je peux faire?
Dans le RoR code source il y a:
def where(opts, *rest)
relation = clone
relation.where_values += build_where(opts, rest) unless opts.blank?
relation
end
OriginalL'auteur user502052 | 2011-03-11
Vous devez vous connecter pour publier un commentaire.
Votre deuxième exemple de travaux:
Il y a une belle liste et une explication de toutes les méthodes de requête dans ce guide Rails: http://guides.rubyonrails.org/active_record_querying.html
Il ne doit récupérer les 10 enregistrements. L'appel de la
limit(10)
méthode fondamentalement ajoute simplement une "LIMITE de 10" clause à votre requête SQL (il n'a même pas l'exécution de votre requête SQL encore, jusqu'à ce que vous utilisez une méthode de collecte commefirst
oueach
).OriginalL'auteur Jeremy Ruten
Je ne pense pas que vous pouvez le faire dans où les. Vous ne pouvez le faire
ou si vous insistez pour utiliser :limite dans d'autres sélecteur de méthode:
OriginalL'auteur Shanison