2015-11-17 70 views
1

嘿,所有!Rails SQL查找所有關聯有列表ID的地方

用途軌道4時,PostgreSQL

我怎樣才能找到具有所有用戶ID爲從名單至少書籍

IN,像波紋管,不工作

Rails的

list = [1,2,3] 
User.includes(:books).where('books.id IN (?)', list) 

SQL

SELECT "users".* FROM "users" 
INNER JOIN "books" ON "books"."user_id" = "users"."id" 
WHERE "books"."id" IN (1,2,3) 

我需要找到需要書籍1,2和3的用戶。

感謝

+3

昨天有人問過類似的問題[Rails範圍 - 在完全匹配中](http://stackoverflow.com/questions/33731332/rails-scope-where-in-exact-matches),看起來像一些學校作業會議的最後期限? :) –

回答

-1

感謝,LongBeard_Boldy

https://stackoverflow.com/users/5093622/longbeard-boldy

它的工作原理

EDITED

添加解決方案:

list = [1,2,3] 
User.joins(:books).where('books.id IN (?)', list).group('users.id') 
    .having("COUNT(users.id) >= ?", list.length) 
+0

儘管這可能會回答這個問題,但最好在此提供實際信息,而不僅僅是一個鏈接。 [只有鏈接的答案不被認爲是好答案,可能會被刪除](http://stackoverflow.com/help/deleted-answers)。此外,您的鏈接都不正確。 –

相關問題