belongs_:to association

class Shopcategory0 < ActiveRecord::Base   set_table_name "shopcategories_0"

  has_many :shopcategory1s, :foreign_key => :parentcategory_id end

class Shopcategory1 < ActiveRecord::Base   set_table_name "shopcategories_1"

  belongs_to :shopcategory0, :foreign_key => :shopcategory_id end

class Shopcategory0sController < ApplicationController   def show     @shopcategory = Shopcategory0.all (:joins => :shopcategory1s)   end end

Is there a question in there?

-e

Of course !

Look at the end:

" class Shopcategory0 < ActiveRecord::Base   set_table_name "shopcategories_0"

  has_many :shopcategory1s, :foreign_key => :parentcategory_id end

class Shopcategory1 < ActiveRecord::Base   set_table_name "shopcategories_1"

  belongs_to :shopcategory0, :foreign_key => :shopcategory_id end

class Shopcategory0sController < ApplicationController   def show     @shopcategory = Shopcategory0.all (:joins => :shopcategory1s)   end end

I too have difficulty seeing what is the question you are asking. Do you mean you are trying to generate that particular query? What does 'notice the end' mean? If so why are you trying to generate some particular sql. Generally you should think about what you want to achieve at a higher level and let Rails worry about the query.

Colin

According to you, you are stating that..

shopcategories_0 table has both and id column and a shopcategory_id column.

You want to reference a foreign key through that table..

You probably need to use...

class Shopcategory1 < ActiveRecord::Base   set_table_name "shopcategories_1"

  belongs_to :shopcategory0, :class => :shopcategory0, :foreign_key => :shopcategory_id end

You should really use the class for the model that houses the shopcategory_id. If that model is the :shopcategory0 then it appears you aren't normalizing your tables properly and you might want to rethink your design a bit. Also, your table names are very confusing.