Hallo Matthias,
vielen Dank. Dein Wink in die Richtung war meine Lösung.
Über deine Lösung bin ich dann zu einem JOIN gekommen.
Article.find(:all, :conditions => ['articles.name = ? and
invoices.attr1 = ?', params[:articlename], params
[:invoice_date]], :join => " invoices ON articles.id =
invoices.article_id")
Ich hatte mir eigentlich was anderes vorgestellt das weniger mit SQL
zu machen aber vorerst ist das eine annehmbare Lösung. Aber das
schreit mir ganz nach einem neuen(?) Plug-in. Wenn ich ein wenig Luft
hab werd ich mir das mal genauer anschauen.
Grüße und danke
Önder
Am 27.10.2007 um 18:32 schrieb Mathias Meyer:
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
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug