1
我有兩個模型用戶和公司has_and_belongs_to_many關聯。 我可以用Rails/Active Record has_and_belongs_to_many關聯 - 獲取記錄
Company.find(id).users
我有問題被發現,不屬於某公司的所有用戶獲取屬於某公司的所有用戶。那麼,我可以這樣做使用
User.all - Company.find(id).users
但是,我覺得有一個更好的方法來實現這一點。有沒有積極的解決方案呢?
目前,我有8個用戶(編號從1到8)。當我嘗試,
User.joins(:companies).where('companies.id = ?', 13).map(&:id)
我得到的結果[7,8]這是預期的。當我將!=放在上面的查詢中時,結果不是我想要的,即1到6的數組。
需要幫助。 謝謝。
感謝您的快速回復,並對遲到的回覆感到抱歉。但是這引發了每個用戶的查詢,即在我的情況下共有8個查詢。我想我應該關心被解僱的查詢的數量。有沒有解決方法? – prasvin 2012-01-11 05:44:28
是的,我打這個n + 1查詢wtf很難用這個建議...我編輯,嘗試新版本...應該更有效率。 – 2012-01-14 19:00:29