Rails / Arel: selección de todos los registros como ActiveRecord :: Relation

Usando Arel en Rails - Estoy buscando una manera de crear unActiveRecord::Relation que efectivamente resulta enSELECT * FROM table, que aún puedo manipular más.

Por ejemplo, tengo un modelo que se divide en varias categorías, y devuelvo los recuentos de estos de la siguiente manera:

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
}

Esto funciona bien y tiene la ventaja de dispararCOUNT consulta a MySQL, en lugar de seleccionar los registros ellos mismos.

Sin embargo, ahora necesito incluir registros archivados en los recuentos, perorelation = Model.all resulta en unArray, y estoy buscando unaActiveRecord::Relation.

La única forma en que puedo pensar en hacer esto esmodel.where(model.arel_table[:id].not_eq(nil)), que funciona, pero parece un poco absurdo.

¿Alguien puede aclarar esto

Respuestas a la pregunta(3)

Su respuesta a la pregunta