0
遇到我以前沒有遇到的問題,並且似乎無法在任何地方找到解決方案,令人沮喪。基本上我有一個用戶表,其中包含一個invited_by_id
列,引用相同的用戶表。導軌 - 通過自我指示排序包括
現在我想創建一個查詢它排序基礎上,邀請用戶名的成績,但是使用通常的活動記錄在這裏整理並未真正發揮作用
User
.includes(:invited_by)
.order("users.name ASC")
因爲無論是表有問題的是同一個,似乎鐵軌選擇第一個,而不是invite_by協會。
有沒有什麼方法可以指定我想要在關聯上訂購?
更多信息
我試圖在一個活動記錄混入使用這一點,所以我不會在基類中直接調用此,它需要與現有的範圍,因爲混合工作方法將在範圍上調用。例如
User
.includes(:invited_by)
.where(where_clause)
.sort(:invited_by_name, :asc)
這裏,sort
方法由混入提供,並且這是它需要能夠在表之間進行區分。我有邏輯,這意味着它知道關係是什麼,所以它知道:invited_by_name
是:invite_by關係的名稱列,但是就我而言。
這是否與現有的範圍工作?這將是一個混合內部鏈接,所以需要與現有的範圍,而不是直接用戶模型 – PaReeOhNos
嗯,不,我看不到它的工作,甚至想象如何嘗試它。我剛剛用範圍搜索了Arel,並沒有看到任何可用的東西。有關於更改Arel節點的博客條目,但我不確定這對您有多大幫助... https://www.viget.com/articles/composable-sql-queries-in-rails-using-arel – SteveTurczyn
嗯沒有這是我的問題:(將繼續挖掘 – PaReeOhNos