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…
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.
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 Jones