wip*_*len 3 sql postgresql activerecord ruby-on-rails
Attendance.joins(:user).group(:email, :name).count
Run Code Online (Sandbox Code Playgroud)
上面的查询给了我下面的结果。“用户 1”有 2 次出席,“用户 2”有 6 次出席,此外我还可以访问用户名和电子邮件。
{["email@example.com", "User 1"]=>2, ["email2@example.com", "User 2"]=>6]}
Run Code Online (Sandbox Code Playgroud)
这很棒,但我真的希望 User.id 也被包含在内。我无法按 ID 分组,因为这样每条记录都是唯一的,而不是按电子邮件和姓名分组。以下是我想要的:
{[1, "email@example.com", "User 1"]=>2, [2, "email2@example.com", "User 2"]=>6]}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
回答 attend.joins(:user).group(:email, :name, 'attendances.user_id').count
Attendance.joins(:user).group(:email, :name, 'attendances.user_id').count
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6869 次 |
| 最近记录: |