mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Find with :include respects scoped :order. Closes #5850.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5445 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
a7d0e0e011
commit
a3dba1ed7c
3 changed files with 13 additions and 1 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Find with :include respects scoped :order. #5850
|
||||
|
||||
* Support nil and Array in :conditions => { attr => value } hashes. #6548 [Assaf, Jeremy Kemper]
|
||||
find(:all, :conditions => { :topic_id => [1, 2, 3], :last_read => nil }
|
||||
|
||||
|
|
|
@ -1169,8 +1169,8 @@ module ActiveRecord
|
|||
add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
|
||||
|
||||
sql << "GROUP BY #{options[:group]} " if options[:group]
|
||||
sql << "ORDER BY #{options[:order]} " if options[:order]
|
||||
|
||||
add_order!(sql, options[:order])
|
||||
add_limit!(sql, options, scope) if using_limitable_reflections?(join_dependency.reflections)
|
||||
|
||||
return sanitize_sql(sql)
|
||||
|
|
|
@ -1312,6 +1312,16 @@ class BasicsTest < Test::Unit::TestCase
|
|||
assert_equal 2, topics.first.id
|
||||
end
|
||||
|
||||
def test_scoped_find_order_including_has_many_association
|
||||
developers = Developer.with_scope(:find => { :order => 'developers.salary DESC', :include => :projects }) do
|
||||
Developer.find(:all)
|
||||
end
|
||||
assert developers.size >= 2
|
||||
for i in 1...developers.size
|
||||
assert developers[i-1].salary >= developers[i].salary
|
||||
end
|
||||
end
|
||||
|
||||
def test_base_class
|
||||
assert LoosePerson.abstract_class?
|
||||
assert !LooseDescendant.abstract_class?
|
||||
|
|
Loading…
Reference in a new issue