Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何分组并获得计数有很多:通过rails_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 4_Orm - Fatal编程技术网

Ruby on rails 如何分组并获得计数有很多:通过rails

Ruby on rails 如何分组并获得计数有很多:通过rails,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,orm,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Orm,三种模式 标签 职位 邮政标签 标签通过PostTags有许多帖子 因此,我需要的是获得具有最多帖子数量的所有标签的名称,其计数应满足以下代码的需要: Tag .select('tags.name, COUNT(posts.*) AS posts_count') .joins(:posts) .order('posts_count DESC') .group('tags.name') .group_by(&:posts_count) 就这么简单,它将适用于Rai

三种模式

  • 标签
  • 职位
  • 邮政标签
标签通过PostTags有许多帖子


因此,我需要的是获得具有最多帖子数量的所有标签的名称,其计数应满足以下代码的需要:

Tag
  .select('tags.name, COUNT(posts.*) AS posts_count')
  .joins(:posts)
  .order('posts_count DESC')
  .group('tags.name')
  .group_by(&:posts_count)

就这么简单,它将适用于Rails3和Rails4

Post.joins(:tags).group("tags.name").count

至少给我们一个迁移文件来查看DB列:)@ AARUP:把它看作是非常基本的东西,标签= > ID、名称、POST=> ID、描述、PASSyTaby= > TAGYID、PASTION你使用哪个DB客户端?标签和POST包含多对多关系吗?是的,最大值是在哪一个基础上?它是不正确的。代码>标记和
Post
没有直接映射。是。。那么您在哪里使用了联接表?是吗?哦,凯。。我不知道。你能展示一下控制台sql吗?我不知道。但是您缺少
子句来筛选最大帐户。@Alexaner让我检查一下,如果不起作用,我会给您回电话,如果起作用,我会接受answer@SRDP您可以将
.groupby(&:posts\u count)
添加到链的末尾,以便根据帖子数量对标签进行分组(如果您需要最大数量的帖子)。