首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过连接表Rails 4分组

通过连接表Rails 4分组
EN

Stack Overflow用户
提问于 2015-09-01 09:00:38
回答 1查看 39关注 0票数 0

我希望这将是简单的,但本质上,我希望通过Rails 4中的联接表来统计具有某些属性的用户数量。

我有一个名为Views的表,它包含三列:

代码语言:javascript
复制
  t.references :viewer
  t.references :viewed
  t.boolean :sentmessage, default: false

然后,我将字段引用作为:

代码语言:javascript
复制
belongs_to :viewer, :class_name => "User"
belongs_to :viewed, :class_name => "User"

然后,每个用户记录都与许多其他记录相关联,如统计、问题和许多其他记录。我感兴趣的是有效地计算出一个viewed记录中有多少是男性还是女性(以及其他搜索字段),这些数据都保存在User.stat.gender.name中,等等。

我试图使用group语句,但不知道如何向下钻取和计数男性数量等。我尝试过:

代码语言:javascript
复制
@results = View.where(viewed: 63).group("viewer.stat.gender")

但这是如此的错误,令人恐惧。

如果能提供任何帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-15 06:36:37

我终于解决了。对于其他感兴趣的人:

代码语言:javascript
复制
View.where(viewed_id: 63).joins(viewer: {stat: :gender}).group("name").count

没有意识到内部连接是什么,只是一些研究和一些尝试和错误意味着我现在可以显示关于访问过的用户的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32327506

复制
相关文章

相似问题

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