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.