小编Fra*_*don的帖子

Rails:连接表并按计数分组

我是 Rails 的新手,目前正在研究一个标记系统,我可以将多个标记分配给事件,并将相同的标记分配给多个事件。

标签模型如下所示:

has_many :taggings,
has_many :events, through: :taggings
Run Code Online (Sandbox Code Playgroud)

事件模型如下所示:

belongs_to :user
has_many :taggings
has_many :tags, through: :taggings
Run Code Online (Sandbox Code Playgroud)

我有三个这样的表:

TAGS
id | name (string)

EVENTS
id | name (string)

TAGGINGS
id | tag_id | event_id
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试获取前 10 个最常用的标签。我基本上需要将标签和标签表连接在一起,并在标签中按 tag_id 分组。像这样的东西:

Tagging.group('tag_id').order('count_id DESC').limit(10).count('id')
Run Code Online (Sandbox Code Playgroud)

但是,加入标签以便我可以获取名称字段。

mysql ruby-on-rails rails-activerecord

3
推荐指数
1
解决办法
1448
查看次数

标签 统计

mysql ×1

rails-activerecord ×1

ruby-on-rails ×1