Rails查询返回数组而不是ActiveRecord



我有这个查询

documents = Broker.find(12).clients.left_joins(:documents).select("clients.id, count(documents.expiration) FILTER (WHERE documents.expiration < '#{Date.today}') AS expired").group("1")

它返回一个这样的表:

<表类>id过期tbody><<tr>14235162

这是因为在表达式末尾调用了.group。文档表示:

返回一个基于组属性的不同记录的数组

因此,为了获得一个activerecord关系,您应该消除.group的使用。