我刚开始使用 ruby on rails 并且有一个关于更复杂查询的问题。到目前为止,我在查看 rails guide 时完成了简单的查询,并且效果非常好。
现在我正在尝试从数据库中获取一些 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);