我有以下SQL查询:Rails的ActiveRecord的连接查询的条件
SELECT campaigns.* , campaign_countries.points, offers.image
FROM campaigns
JOIN campaign_countries ON campaigns.id = campaign_countries.campaign_id
JOIN countries ON campaign_countries.country_id = countries.id
JOIN offers ON campaigns.offer_id = offers.id
WHERE countries.code = 'US'
这工作得很好。我想它的轨道的活动记录版本的一些事情,如:
Campaign.includes(campaign_countries: :country).where(countries: {code: "US"})
上面的代码运行或多或少正确的查询(没有尝试,包括报价表),问题是返回的结果是运动的集合对象,因此这显然不包括点
我的表是:
campaigns --HAS_MANY--< campaign_countries --BELONGS_TO--< countries
campaigns --BELONGS_TO--> offers
写这个SQL的AR版本有什么建议?我不想在我的代码中使用SQL语句。
我需要的积分只针对国家 – Rakesh
我认为我的答案现在应该满足您,但这不是我想的Railish方式。 –
现在(第二次编辑后)我很确定这是你在找什么 –