0

我有一个连接表:

<% @users.each do |user| %>
<li><%= user.user_id %><%= user.user.name %></li>

给我

  • 1 弗雷德
  • 1 弗雷德
  • 9 查理

好吧..到目前为止感谢您的答案。我可以看到我不够精确,无法解释我需要什么。

<% @users.each do |user| %>
<li><%= user.user_id %><%= user.user.name %></li>

是查询的结果。所以结果可能是 10 个不同的用户,或者一些可能是两倍或三倍。我想在它们出现多个时标记它们。我不想在我的数据库中找出重复条目.....

所以我必须找出 |user| 中的天气 是具有相同 user_id 的多个 val .. 以获得真/假希望这使它更清楚。现在我没有 clou 如何归档这个。

4

3 回答 3

0

假设你有两张桌子usersdetails

我从很小的时候就得到了您的问题,我认为您希望所有具有重复详细信息的用户

您的 sql 应该如下所示

double_details = SELECT u.* FROM users u LEFT JOIN details on d.user_id = u.id 
                            GROUP BY 'u.user_id' HAVING (COUNT(d.id))  > 1
于 2012-09-14T10:30:18.253 回答
0
Model.group(:user_id).select("user_id, COUNT(*) as total").find_all{|i| i.total > 1}

将模型替换为您的模型。

于 2012-09-14T10:40:27.220 回答
0

如果用户表引用自己,那么类似的东西user.users.count应该返回引用这个的其他用户的数量。

于 2012-09-14T10:41:37.253 回答