sql выбрать записи, например, с 5-й записи до конца - PullRequest
0 голосов
/ 10 июля 2019

Ниже приведена область действия в файле модели, которую я хотел бы завершить, чтобы получить все записи из 5-й записи до конца таблицы с именем «посетители»:

область действия: wait_list, -> {where (will_not_attend: false)}

Буду очень признателен за любую помощь.Спасибо.

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Это вам поможет:

Attendee.last(Attendee.count - 5)

Выше кода пропустит первые пять записей и вернет остальные записи в Array.

И ваш желаемый объем будет:

scope :waiting_list, -> { where(will_not_attend: false).last(Attendee.count - 5) }

0 голосов
/ 23 июля 2019

Плохой подход - пропускать последнее количество записей, а затем извлекать оставшиеся, потому что могут быть новые вставки в базу данных, которые приводят к неверным записям.Любой, как вы можете использовать offset, чтобы пропустить количество строк в соответствии с вашим требованием.

scope :waiting_list, -> { where(will_not_attend: false).order(created_at: :asc).offset(Attendee.count - 5) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...