aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/join_dependency.rb
diff options
context:
space:
mode:
authorEugene Kenny <elkenny@gmail.com>2017-02-26 23:29:08 +0000
committerEugene Kenny <elkenny@gmail.com>2017-02-27 00:39:12 +0000
commit6cf4835b743cbce2536d53ae0a4a998f4f0f1e24 (patch)
tree06ca2aa01fae176323fb1cc6e0a94b8bf7c9b069 /activerecord/lib/active_record/associations/join_dependency.rb
parent25c3227255dee0e937e69f58f0cffbf9318948bd (diff)
downloadrails-6cf4835b743cbce2536d53ae0a4a998f4f0f1e24.tar.gz
rails-6cf4835b743cbce2536d53ae0a4a998f4f0f1e24.tar.bz2
rails-6cf4835b743cbce2536d53ae0a4a998f4f0f1e24.zip
Allow order to be given expressions as hash keys
When `order` is given a hash, the keys are currently assumed to be attribute names and are quoted as such in the query, which makes it impossible to pass an expression instead: Post.order("LENGTH(title)" => :asc).last # SELECT `posts`.* FROM `posts` ORDER BY `posts`.`LENGTH(title)` DESC LIMIT 1 If the key is an `Arel::Nodes::SqlLiteral`, we now use it directly in the query. This provides a way to build a relation with a complex order clause that can still be reversed with `reverse_order` or `last`.
Diffstat (limited to 'activerecord/lib/active_record/associations/join_dependency.rb')
0 files changed, 0 insertions, 0 deletions