mysql-Ruby on Rails查询:连接表并选择多个列
作者:互联网
有两种模型:微博和用户
“微博”包含4列:名称,类型,user_id和id
“用户”包含4列:名称,类型,地址和ID
微帖属于用户;用户包含许多微博.
我想查找每个用户有多少个微博,但是由于某种原因,我无法使查询正常工作.
我试过的查询是:
User.joins(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")
这仅从用户表中拉出属性,但从微博表中排除列,还排除我创建的计数列.
由于某些原因,
User.joins(:microposts).group("users.id").count
可以,但是只返回user.id和count.我也想拉其他列.
我也尝试使用“ includes”而不是“ joins”,但这只会返回users表的所有列,而不会返回microposts表的任何列.
User.includes(:microposts).group("users.id").select("users.*, count(microposts.id) as postcount")
有人可以帮忙吗?谢谢!
解决方法:
我认为,您既需要连接又需要包含.
User.joins(:microposts).
includes(:microposts).
group("users.id").
select("users.*, count(microposts.id) as postcount")
标签:ruby-on-rails-4,sql,mysql 来源: https://codeday.me/bug/20191121/2054596.html