Rails / Arel: Selecionando todos os registros como ActiveRecord :: Relation

Usando o Arel no Rails - Estou procurando uma maneira de criar umActiveRecord::Relation que resulta efetivamente emSELECT * FROM table, que ainda posso manipular mai

Por exemplo, eu tenho um modelo dividido em várias categorias e retorno as contagens da seguinte maneira:

relation = Model.where(:archived => false) # all non-archived records
record_counts = {
  :total => relation.count,
  :for_sale => relation.where(:for_sale => true).count
  :on_auction => relation.where(:on_auction => true).count
}

Isso funciona bem e tem a vantagem de dispararCOUNT consultas ao MySQL, em vez de realmente selecionar os próprios registro

No entanto, agora preciso incluir registros arquivados nas contagens, masrelation = Model.all resulta em umArray e estou procurando umActiveRecord::Relation.

A única maneira de pensar em fazer isso émodel.where(model.arel_table[:id].not_eq(nil)), que funciona, mas parece um pouco absurd

Alguém pode lançar alguma luz sobre isso?

questionAnswers(3)

yourAnswerToTheQuestion