Method: Sequel::Dataset#reverse
- Defined in:
- lib/sequel/dataset/query.rb
#reverse(*order, &block) ⇒ Object
Returns a copy of the dataset with the order reversed. If no order is given, the existing order is inverted.
DB[:items].reverse(:id) # SELECT * FROM items ORDER BY id DESC
DB[:items].reverse{foo()} # SELECT * FROM items ORDER BY foo(bar) DESC
DB[:items].order(:id).reverse # SELECT * FROM items ORDER BY id DESC
DB[:items].order(:id).reverse(Sequel.desc(:name)) # SELECT * FROM items ORDER BY name ASC
903 904 905 906 907 908 909 910 |
# File 'lib/sequel/dataset/query.rb', line 903 def reverse(*order, &block) if order.empty? && !block cached_dataset(:_reverse_ds){order(*invert_order(@opts[:order]))} else virtual_row_columns(order, block) order(*invert_order(order.empty? ? @opts[:order] : order.freeze)) end end |