Attendance.joins(:user).group(:email, :name).count
上面的查詢爲我提供了下面的結果。 「用戶1」有2次出席,「用戶2」有6次出席,另外我可以訪問用戶名和電子郵件。ActiveRecord查詢。由多個表格中的多列組成
{["[email protected]", "User 1"]=>2, ["[email protected]", "User 2"]=>6]}
這是偉大的,除非我真的很喜歡User.id也包括在內。我無法按ID分組,因爲每條記錄都是唯一的,而不是通過電子郵件和名稱進行分組。下面是我想要的:
{[1, "[email protected]", "User 1"]=>2, [2, "[email protected]", "User 2"]=>6]}
任何幫助,將不勝感激。
回答 Attendance.joins(:用戶)。集團(:電子郵件,:姓名, 'attendances.user_id')算
它不應該是唯一的,除非你按'Attendence.id'? – salient
通過ID分組將會是Attendence的ID。按照我假設在該表上的user_id進行分組,會給你想要的。 – mccalljt
你將如何構造這個查詢?我不斷收到錯誤....「Attendance.joins(:user).group(:email,:name,'attendance.user_id')。count」我得到的錯誤是「ActiveRecord :: StatementInvalid:PG :: UndefinedTable :錯誤:缺少表「考勤」的FROM-clause條目「 – wipallen