首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Rails3中组合这两个查询?

如何在Rails3中组合这两个查询?
EN

Stack Overflow用户
提问于 2013-05-15 17:02:17
回答 1查看 73关注 0票数 1

在我的视图中,我需要显示一个列表,其中包含每个城市的名称,以及该区域的可用服务(城市服务)。这涉及到两个查询。但是,我如何组合它们并显示这个简单的列表呢?

模型..。

代码语言:javascript
复制
class City < ActiveRecord::Base
   has_many :city_services, :dependent => :delete_all
end

class CityService < ActiveRecord::Base
   belongs_to :city
end

控制器...这就是我需要帮助的地方。

代码语言:javascript
复制
@county = params[:county]
@city_ids = City.where("county = ?", @county).map { |c| c.id }
@city_services = CityService.where( :city_id => @city_ids )

但是,每个城市都有多个服务,所以我不能只列出city_services,否则城市会被多次列出。

EN

回答 1

Stack Overflow用户

发布于 2013-05-15 17:11:57

试试这个(我假设cities表名为cities):

代码语言:javascript
复制
@city_services = CityService.joins(:city).where(cities: {country: params[:country]})

如果你想要一个不同的列表:

代码语言:javascript
复制
@city_services = CityService.joins(:city).where(cities: {country: params[:country]}).uniq
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16560873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档