![](/img/trans.png)
[英]How do I get the nth record for each distinct name in a table in rails?
[英]Rails - How Do I do this Query? Get One of Each Record
我有一個BlogPost
模型,其中包含:category
屬性。 我正在制作一個新的BlogPost
表單,我希望選擇菜單能夠填充用戶在先前記錄中輸入的每個類別。
因此,我需要一個查詢來查找具有User ID
所有BlogPosts
,然后將他們輸入的每個類別的列表四舍五入。 多個記錄中將存在相同的類別,但當然我只想為選擇菜單返回它的副本。
謝謝 :)
您可以SELECT DISTINCT
類別向正確的用戶返回INNER JOIN
:
Category
.joins( :posts )
.where( posts: { user_id: current_user.id } )
.uniq
這應該發送這樣的查詢:
SELECT DISTINCT categories.*
FROM categories
INNER JOIN posts ON posts.category_id = categories.id
WHERE posts.user_id = [whatever]
編輯注意:要小心uniq
既是Relation
又是Array
。 確保在將它轉換為數組之前在關系上調用它,或者你將在一系列非獨特結果上執行uniq,這也是有效的,但在性能方面是荒謬的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.