Как можно изящнее построить запрос используя инструмент ror?


(Aleksandr Dabizha) #1

Всем привет!
Вопрос к знатокам.
Есть работающий запрос. Но вот хочется его сделать красивее и изящнее.
Вот на ваш вгляд, что можно здесь подправить:

MyModelName.where(‘condition=4’).select(“COUNT(CASE WHEN NOT is_test THEN 1 ELSE null END) AS real, COUNT(CASE WHEN is_test THEN 1 ELSE null END) AS tests”)[0]


(Kvokka) #2

я б без нужды не стал городить это в 1 заумный запрос

req = MyModel.where(condition: 4)
all = req.count
empty = req.where( is_test: nil).count

имхо это читаемее, и при отсутствии гигантских объемов даже быстрее