我有一个Tag表,看起来像这样:
NAME | USER_ID | OBJECT_ID
---------------------------
"fun" | 1 | 1
"fun" | 2 | 1
Object是一个可标记的对象,仅此而已。现在,我遇到的问题是: 我想为对象显示非重复标签,但能够说明每个标签属于哪个用户。
所以,我已经为可标记对象声明了以下关联:
has_many:tags,:group => “name”,:order => “计数(
tags
。name
) DESC,tags
。name
ASC“
因此,它做了两件事:1)按标签名称分组 - >消除重复2)按记录数量对标签进行排序
但是,与此同时,我需要确定页面上的访问者(登录用户)是否留下了任何标签,这是不可能的,因为GROUP从列表中选择随机标签而只有一个用户可以确定。
您如何解决这个问题?
答案 0 :(得分:0)
我不想再发布整个答案。但是,这个链接正是您正在寻找的内容。 http://www.justskins.com/forums/aggregate-functions-does-value-149176.html#post501498
逻辑是在同一个表上使用JOIN。