首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何才能只显示在Rails3中有关联的结果呢?

我如何才能只显示在Rails3中有关联的结果呢?
EN

Stack Overflow用户
提问于 2011-08-15 03:56:20
回答 4查看 113关注 0票数 1

我正在尝试执行一条where语句,该语句只显示具有该特定关联的结果。

例如:

通过单位状态,一个单位有多个状态。它们可以有多个状态,可以是金、银和/或青铜,也可以是无状态。我试图让我的结果只返回具有状态的公司(金、银和/或铜牌),而不是没有状态的公司。

EN

回答 4

Stack Overflow用户

发布于 2011-08-15 03:59:53

你的用例表达得不是很好,但我认为你想要的是找到状态与指定状态匹配的公司:

代码语言:javascript
复制
Company.includes(:statuses).where('status.name = ?', params[:status_name])

假设是公司的has_many :statuses,这应该会给出正确的查询。

票数 0
EN

Stack Overflow用户

发布于 2011-08-15 04:03:46

来自活动记录关联的Ruby on Rails指南:

4.2.3如何知道是否存在关联对象?

要了解是否有关联的对象,只需检查association.nil?:

如果@supplier.account.nil?@msg =“找不到该供应商的帐户”

结束

http://guides.rubyonrails.org/association_basics.html#detailed-association-reference

票数 0
EN

Stack Overflow用户

发布于 2011-08-15 04:37:35

代码语言:javascript
复制
Company.joins(:statuses).select("DISTINCT(companies.id), companies.*, statuses.*")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7059328

复制
相关文章

相似问题

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