Named_scope and its :order function

Could someone help me to solve my problem?I’m using named_scope,and
there
seems to be a little problem…
Can I sort a model by another model’s column?For example,I have a
“users”
table,it has a “value” column.And in the user.rb:
has_many :articles

in the article.rb:
belongs_to :user
named_scope :by_user_value,:order => “…”

What I want to know is,how can I finish the :order=>"…" parameters to
sort the articles by there user’s “value”?Can somebody help me with
that?Thanks a lot…

On Jul 13, 4:01 am, 刘子嘉 [email protected] wrote:

Could someone help me to solve my problem?I’m using named_scope,and there
seems to be a little problem…
Can I sort a model by another model’s column?For example,I have a “users”
table,it has a “value” column.And in the user.rb:
has_many :articles

You need to joins the users table if you want to order by a column on
it.

Fred

Thanks very much.
Could you give me some more advice how can I do this?I still don’t
know how to join the two tables…thanks again.

It works!Thanks a lot…

Try this:

named_scope :by_user_value, :include => :user, :order => ‘users.value’

If you’re not accessing the user association, you could also
use :joins instead of :include, but I’m guessing you’ll need to load
those records anyways.

–Matt J.