假設我有兩個Rails模型,用戶和列表。用戶擁有多個列表並列出屬於某個用戶的列表。引用ActiveRecord中的關聯表,其中/加入調用
用戶在任何時候都有一個特定的列表。這由用戶模型中的active_list_id外鍵表示。
比方說,我想運行通過的ActiveRecord以下查詢是等效的:
SELECT * FROM users JOIN lists
ON lists.id = users.active_list_id
基本上我想寫這將讓每一個用戶,用她的當前活動列表一起,顯示統計信息的方法在列表完成。
該解決方案在我看來是這樣的
Users.joins(:lists).where("users.active_list_id = lists.id")
但我似乎無法得到那個工作**,我不知道最慣用正確的解決方案是什麼樣的Rails。
我應該如何使用ActiveRecord最有效率和最有效地提取這些數據?
在此先感謝您提供的任何幫助。
編輯:上述查詢確實有效,但似乎並沒有拉出用戶記錄及其關聯列表的聯合。
通常表名稱將是「用戶」和「列表」 - 這可能是你的問題? – elijah
好的電話,但不是,那是我的錯誤。這些表格實際上是小寫的。爲了清晰起見,我會編輯我的問題,謝謝。 – Chazu
我誤解了,問題是查詢不是表格。你是正確的,沒有大寫的查詢返回我需要的用戶,但它似乎並沒有包括列表記錄。 – Chazu