Demigodd
@Demigodd

Как вернуть все Модели если id равно nil в Rails?

Как вернуть все Модели если id равно nil в Rails ?

arr_id = [1, 2, 3]

Model.where(id: arr_id)


Вот к примеру если тут arr_id будет nil или пустой массив, то как убрать эту проверку Where ?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
oh_shi
@oh_shi
def self.filter_id(arr_id)
  if arr_id.present?
    where(id: arr_id)
  else
    all
  end
end

или
scope :filter_id, -> arr_id { where(id: arr_id) if arr_id.present? }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
if arr_id.nil? || arr_id.empty?
  Model.all
else
  Model.where id: arr_id
end
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект