gpt4 book ai didi

ruby-on-rails - belongs_to 关联栏中的组函数

转载 作者:数据小太阳 更新时间:2023-10-29 08:26:31 24 4
gpt4 key购买 nike

用户.rb

enum gender: [:Male, :Female] 
belongs_to :qualification

资格.rb

has_many :users

当我查询时

User.all.group(:gender).count.map { |k, v| [User.genders.key(k), v] }.to_h

它给了我

{"Male"=>18, "Female"=>1}

但我不知道做同样的资格,因为协会参与其中。我该怎么做?

User.all.group(:qualification_id).count.map { ??? }

最佳答案

您可以使用带有关联名称的 joins() 在关联模型之间执行联接,然后按联接模型的任何列分组。

例如,如果您想按资格的 name 列进行分组:

User.joins(:qualification).group('qualifications.name').count

joins方法中使用符号:qualification描述关系,但在中使用表名'qualifications' group 方法来指定列。这将生成如下 SQL 请求:

SELECT COUNT(users.id)
FROM users
INNER JOIN qualifications ON users.qualification_id = qualifications.id
GROUP BY qualifications.name

关于ruby-on-rails - belongs_to 关联栏中的组函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086845/

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