问题
I have a tables Foo and Bar. Foo has one Bar. When I query Foo, how can I order it by a date column in the Bar table?
Thanks
回答1:
Foo.find(:all,:joins=>:boo, :order=>'bars.created_at DESC' )
回答2:
Refer to the ActiveRecord Query Interface page: http://guides.rubyonrails.org/active_record_querying.html#joining-tables
Note that sometimes a prefix is added to the table name so you may need to do something like:
Foo.all(:joins => :bar, :order => Bar.table_name + '.created_at')
来源:https://stackoverflow.com/questions/1586848/order-by-foreign-key-in-activerecord