Sorry, that was my typo.
The correct error was:


######   table 1: companies  ##########
id  int
name string

######   table 2: sections   ##########
id int
ref_company_id  int
ref_meta_id  int
sec_name string


class Company  < ActiveRecord
 
has_one  :main_section,  :class=>"Section",  :foreign_key=>"ref_company_id", 
:conditions=>"ref_meta_id=0"
 
has_many  :all_sections, :class=>"Section",  :foreign_key=>"ref_company_id"
end

class Section < ActiveRecord
 
belongs_to :company, :class=>"Company", :foreign_key=>"ref_company_id"
end

Company.find(:all, :select=>'companies.*', :include=>
[:all_sections],  :conditions=>"sections.sec_name='abc'")

*********************************************************************
Unknown column 'companies.ref_company_id' in 'field list':
SELECT `companies`.`id` AS t0_r0,
              `companies`.`name` AS t0_r1,

              `companies`.`ref_company_id` AS t0_r2,
              `companies`.`ref_meta_id` AS t0_r3,
              `companies`.`sec_name` AS t0_r4,

              `sections`.`id` AS t1_r0,
              `sections`.`ref_company_id` AS t1_r1,
              `sections`.`ref_meta_id` AS t1_r2,
              `sections`.`sec_name` AS t1_r3,
FROM    `companies`  LEFT OUTER JOIN `sections` ON
sections.ref_meta_id = companies.id
WHERE  ( sections.sec_name='abc' )
**********************************************************************


the werid part is

`companies`.`ref_company_id` AS t0_r2,
`companies`.`ref_meta_id` AS t0_r3,
`companies`.`sec_name` AS t0_r4,




For now, though I am using :join and :group to get what I want.
I still got no idea where these errors came from when using :include.



On Nov 19, 4:28 pm, Frederick Cheung <[EMAIL PROTECTED]>
wrote:
> On 18 Nov 2008, at 23:41,bobluwrote:
>
>
>
> > yes, the compannies table does not have a columns called
> > ref_company_id.
> > It is the table which is referreced by the sections table that has a
> > ref_company_id as a foreign key.
> > Can you explain why that error comes out? 'cause I cannot find any
> > clue about it.
>
> It's very weird - in particular it's weird that it goes t0_r0, t0_r16:
> the number after the r is generated by an each_with_index loop - it  
> should skip over the numbers 1-15.
> Weird stuff might happen if you had overwritten the column_names or  
> columns methods on your ActiveRecord class but I would have expected  
> that to cause problems elsewhere too.
>
> Fred
>
>
>
> > And thank you for mentioning your blog post, and I now know why I feel
> > my app is much faster using join than  using include.
> > Thank you.
>
> > On Nov 18, 7:37 pm, Frederick Cheung <[EMAIL PROTECTED]>
> > wrote:
> >> Well to answer the question in the subject line, I wrote this a  
> >> little
> >> while 
> >> back:http://www.spacevatican.org/2008/6/22/the-difference-between-include-
> >> ...
> >> A key thing to note is that include in 2.1 and include in 2.0.2 are
> >> different (but the 2.1 code will fall back to the 2.0.2 code if
> >> necessary).
> >> Does the companies table not have columns called ref_company_id ?
>
> >> Fred
--~--~---------~--~----~------------~-------~--~----~
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 rubyonrails-talk@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to