【发布时间】:2014-04-26 05:48:26
【问题描述】:
有两种模式:微博和用户
“微博”包含 4 列:名称、类型、user_id 和 id
“用户”包含 4 列:名称、类型、地址和 ID
微博属于用户; users 包含许多微博。
我想知道每个用户有多少微博,但由于某种原因,我无法让查询正常工作。
我尝试的查询是:
User.joins(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")
这只会从 users 表中提取属性,但会从 micropost 表中排除列,也排除我创建的 count 列。
由于某种原因,
User.joins(:microposts).group("users.id").count
有效,但它只返回 user.id 和计数。我也想拉其他列。
我也尝试使用“includes”而不是“joins”,但这只会返回 users 表的所有列,而 microposts 表中没有。
User.includes(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")
有人可以帮忙吗?谢谢!
【问题讨论】:
标签: mysql sql ruby-on-rails-4