On 27.10.2007, at 17:12, Önder Kara wrote:
Jetzt möchte ich hier z.B. Nach dem Artikel Apfel (passend zu
meinem neuen iMac ;-) ) suchen
Die Suchabfrage soll mir eine Liste zeigen mit allen Rechnungen in
dem ein oder mehrere Äpfel enthalten sind.
article = Article.find(:first, :conditions => ["name = ?", params
[:articlename]])
article.invoices
würde mir rein theoretisch eine Liste geben.
Jetzt will ich aber das ganze eingrenzen und gebe als Suchbegriff
noch den Kundennamen und Rechnungsdatum ein. Wie sollte hier meine
Abfrage denn aussehen? Bietet
Activerecord hier schon was an?
Du kannst entweder direkt auf der Assoziation ein find absetzen:
article.invoices.find(:all, :conditions => ['...'])
oder einfach die Assoziation in das obige find joinen:
Article.find(:all, :select => "a.*", :conditions => ['name = ? and
i.attr1 = ? and i.attr2 = ?', params[:articlename], params
[:customer], params[:date_of_purchase]], :from => 'articles a,
invoices i')
Das ist an sich keine Spezialitaet von ActiveRecord, sondern nur eine
Abbildung des entsprechenden SQLs, und eine von mehreren Moeglichkeiten.
Cheers, Mathias
--
Rails-Schulung "Advancing with Rails" mit David Black
19.11.-22.11.2007, Berlin-Mitte
Details u. Anmeldung:
www.railsschulung.de_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug