【发布时间】:2013-12-12 18:08:15
【问题描述】:
我有一个标签表,如下所示:
NAME | USER_ID | OBJECT_ID
---------------------------
"fun" | 1 | 1
"fun" | 2 | 1
Object 是一个可标记的对象,仅此而已。现在,我遇到的问题是: 我想显示对象的非重复标签,但能够说出每个标签属于哪个用户。
所以,我为可标记对象声明了以下关联:
has_many :tags, :group => "name", :order => "count(
tags.name) DESC,tags.nameASC"
所以,它做了两件事:1)按标签名称分组 -> 消除重复项 2)按记录数对标签进行排序
但是,同时我需要确定页面上的访问者(登录用户)是否留下任何标签,这是不可能的,因为GROUP从列表中选择随机标签并且只有一个用户可以确定的。
你会如何解决这个问题?
【问题讨论】:
-
那么,您要单独获取该用户发布的标签吗?
-
在列出所有标签(唯一标签名称)期间,我想以某种方式标记用户留下的标签。
标签: sql ruby-on-rails ruby count group-by