hier noch zum limit und order by:
Sim.find(:all, :conditions => ["term1_id IN (?)", @term], :order => "pos DESC", :limit => 10)

gruß manuel


Am 24.11.2008 um 14:38 schrieb Ma Sch:

Hallo zusammen,

als erstes möchte ich allen danken, die sich hier ein wenig Zeit nehmen,
um mir zu helfen.

Ich habe folgendes Schema :

class Term < ActiveRecord::Base
 has_many :sims
end

class Sim < ActiveRecord::Base
belongs_to :term1, :class_name => "Term"
belongs_to :term2, :class_name => "Term"
end


Ich denke die Migrations sind hierbei eher unwichtig. Jedenfalls möchte
ich folgende Abfragen durchführen :

t = ["NewYork","Boston","US"]
   @term = Array.new
   @sub_terms = Array.new


   t.each do |term|
     @termi = Term.find_by_bezeichnung(term)
     @term << @termi.id
   end

   puts "############################################"

   @term.each do |termid|
     li = Sim.find(:all, :conditions => {:term1_id => termid}).each do
|li|
       @sub_terms << li.term2.name
     end
   end
   puts @sub_terms.uniq

Wie ihr seht speichere ich meine Ergebnisse wieder als Array ab, ka ob
das so sinnvoll ist oder nicht. Frage ist nun kann ich das irgendwie
performanter gestalten? Bis jetzt ist das ja zweimal find und unzählige
each do Blöcke.

Dann würde ich noch gerne wissen ob man in der Anfrage Beispielsweise
wenn ich in der Tabelle Sims eine Spalte value (int Wert) habe, nach
diesem Wert die Erbebnisse sortieren kann und dann nur die ersten 10
Ergebnisse ausgebe. In SQL gibt es ja sowas wie ORDER_BY value DESC
LIMIT 10 oder so ähnlich.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an