findet alle Datensätze, in denen zwei Bedingungen erfüllt sind
Ich versuche zu finden alle Datensätze, in denen zwei Bedingungen erfüllt sind. Zum Beispiel:
ruby-1.8.7-p302 > Person.all
=> #<Person name: "Jane", city: "Green Bay", state: "Wisconsin", single: true>
=> #<Person name: "Dick", city: "Madison", state: "Wisconsin", single: false>
=> #<Person name: "Tom", city: "Milwaukee", state: "Wisconsin", single: true>
Möchte ich, um die "Jane" und "Tom" - Einträge. Ich versuche das, aber es funktioniert nicht:
Person.find_all_by_state("Wisconsin").find_all_by_single(true)
InformationsquelleAutor sybind | 2011-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Person.where(:state => "Wisconsin", :single => true)
state: "Wisconsin", single: true
, denn Sie verändert den Hash-literal-syntax für die mit Symbol Schlüssel.InformationsquelleAutor Dylan Markow
Ich würde mit dmarkow Antwort, aber als ein wenig zusätzliche trivia Sie können dies auch tun:
Kette, wie viele Felder mit
_and_
wie gewünscht. Diewhere
syntax ist viel sauberer als dieser jedoch.user368937: das ist die alte syntax, die die norm war in Rails 2. dmarkow ist für Rails 3.
InformationsquelleAutor Ryan Bigg
Beispiel mit einer ODER-Bedingung:
InformationsquelleAutor Shivam Tripathi