gpt4 book ai didi

mysql - Ruby on Rails 查询 : Joining tables and selecting multiple columns

转载 作者:可可西里 更新时间:2023-11-01 08:17:02 24 4
gpt4 key购买 nike

有两种模式:微博和用户

“微博”包含4列:name、type、user_id和id

"users" 包含 4 列:name、type、address 和 id

微博属于用户; users 包含很多微博。

我想知道每个用户有多少微博,但由于某种原因,我无法使查询正常工作。

我试过的查询是:

User.joins(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")

这只是从users表中拉取属性,但排除了微博表中的列,也排除了我创建的count列。

出于某种原因,

User.joins(:microposts).group("users.id").count

有效,但它只返回 user.id 和计数。我也想拉其他列。

我也尝试过使用“includes”而不是“joins”,但这只会返回用户表的所有列,而不会返回微博表中的任何列。

User.includes(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")

有人可以帮忙吗?谢谢!

最佳答案

我认为您需要加入 includes

User.joins(:microposts).
includes(:microposts).
group("users.id").
select("users.*, count(microposts.id) as postcount")

关于mysql - Ruby on Rails 查询 : Joining tables and selecting multiple columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23307188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com