我刚开始学习Ruby on Rails,有一个关于稍微复杂一些查询的问题。到目前为止,我在查看Rails指南时做了一些简单的查询,并且效果非常好。
现在,我正在尝试从数据库中获取一些ID,并使用这些ID获取实际对象并对它们进行操作。获取这些ID比简单的Object.find方法要复杂一些。
以下是我的查询语句:
select * from quotas q, requests r
where q.id=r.quota_id
and q.status=3
and r.text is not null
and q.id in
(
select A.id from (
select max(id) as id, name
from quotas
group by name) A
)
order by q.created_at desc
limit 1000;
当我从sql管理器执行此查询时,这将为我提供1000个id。我想首先获取id列表,然后按id查找对象。
有没有一种方法可以直接使用此查询获取这些对象?避免查找ids?我通过谷歌搜索发现您可以执行以下查询:
ActiveRecord::Base.connection.execute(query);