2015-04-05 2 views
0

Можно ли отсортировать данные по условию?Как делать заказ по условию

Например, образно, .order("expiration_date <?", Time.current, :desc)

+2

Это не имеет никакого смысла, вы не можете заказать только некоторые из записей. Что вы пытаетесь сделать точно? – victorkohl

ответ

0

заказ по ключевому слову используется для сортировки множества результатов с помощью одного или более столбцов. Ключевое слово ORDER BY по умолчанию сортирует записи по возрастанию. Чтобы отсортировать записи в порядке убывания, вы можете использовать ключевое слово DESC.

можно сортировать, используя что-то вроде: -

sorted = @records.sort_by &:created_at 

или попробовать where сначала получение результирующего, а затем его сортировку: -

@records.where("expiration_date <?", Time.current).order(:created_at, :desc) 

Более того, вы можете постраничной легко, -

@records.paginate(:page => params[:page], :per_page => 15)#.order(" created_at ASC") 
+0

Но если я хочу получить список с expiration_date> =? ", Time.current (initialy) и expiration_date Stas

+0

Привет @Stas ... я обновил свой ответ для разбивки на страницы ... дайте мне попробовать и дайте мне знать :) – Milind

Смежные вопросы