On Tue, 2009-07-28 at 10:31 -0700, Craig White wrote: > I have > > class Debtortrans < ActiveRecord::Base > has_many :debtortranstaxes, :foreign_key => > 'debtortransid', :class_name => 'debtortranstaxes' > belongs_to :debtor, :foreign_key => 'debtorno' > > and > > class Debtortranstaxes < ActiveRecord::Base > belongs_to :debtortrans, :foreign_key => 'debtortransid' > > Now I want to find Debtortrans records but only those with specific > Debtortranstaxes values... > > @debtor = Debtortrans.find(:all, > :conditions => ["trandate > ? and trandate < ? AND > debtortranstaxes.taxauthid = ?", @per1, @per.lastdate_in_period, "24"], > :include => 'debtortranstaxes', > :select => 'debtorno, trandate, transno, ovamount') > > but this gives me an error... > NameError: undefined local variable or method `debtortranstaxes' for > #<Class:0xb7a4e644> > > so I change the conditions to > :conditions => ["trandate > ? and trandate < ? AND taxauthid = ?", > @per1, @per.lastdate_in_period, "24"], > > and I get this error... > ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'taxauthid' > in 'where clause': SELECT debtorno, trandate, transno, ovamount FROM > `debtortrans` WHERE (trandate > '2009-04-30' and trandate < '2009-05-31' > AND taxauthid = '24') > > obviously because taxauthid column is not in debtortrans table but in > the 'has_many' table of debtortranstaxes. > > How do I get the search of debtortrans with only appropriate records in > debtortranstaxes table? ---- I got this to work...had to use 'joins' instead of 'include' - duh
Craig -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

