10
我有一個簡單的模型如何做好加入在AREL子查詢中使用Rails的
class User
has_many :logs
class Logs
通過外鍵logs.user_id以通常的方式有關。我正在嘗試使用Arel來執行以下操作,並根據Arel文檔進行操作。
u_t = Arel::Table::new :users
l_t = Arel::Table::new :logs
counts = l_t.
group(l_t[:user_id]).
project(
l_t[:user_id].as("user_id"),
l_t[:user_id].count.as("count_all")
)
l_t.joins(counts).on(l_t[:id].eq(counts[:user_id]))
當我這樣做,我得到的錯誤
TypeError: Cannot visit Arel::SelectManager
然而阿雷爾explicitly suggests的筆者,阿雷爾可以做這種事情。
請不要寫關於如何使用原始sql,另一種類型的Arel查詢等來實現相同查詢的回覆。這是我感興趣的模式,而不是此查詢的具體結果。
'l_t [: id] .eq(counts [:user_id])'這是否工作?我的意思是,爲什麼日誌的id等於用戶的id? –