我有以下 SQL 查询:
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'
这工作得很好。我想要它的rails活动记录版本,比如:
Campaign.includes(campaign_countries: :country).where(countries: {code: "US"})
上面的代码运行或多或少正确的查询(没有尝试包括优惠表),返回的问题结果是 Campaign 对象的集合,因此显然它不包括 Points
我的桌子是:
campaigns --HAS_MANY--< campaign_countries --BELONGS_TO--< countries
campaigns --BELONGS_TO--> offers
编写此 SQL 的 AR 版本有什么建议吗?我不想在我的代码中使用 SQL 语句。