在Rails 3,我想做到以下幾點:Rails 3的選擇,只有值
SomeModel.where(:some_connection_id => anArrayOfIds).select("some_other_connection_id")
這工作,但我從DB獲得以下:
[{"some_other_connection_id":254},{"some_other_connection_id":315}]
現在,這些ID -s是我需要的,但我無法提出一個查詢,只有給我的ID。我不想爲了獲得這些數字而不得不爲了解決這個問題。有沒有什麼辦法,我喜歡的東西要做到這一點:
SomeModel.where(:some_connection_id => anArrayOfIds).select("some_other_connection_id").values()
是nautre的還是什麼?
我一直在嘗試使用在Git-hub找到的「.select_values()」,但它只返回「some_other_connection_id」。
我不是在軌的專家,所以這個信息可能會有所幫助也:
的「SomeModel」是一個連接表,在我的其他車型之一的許多一對多的關係。所以,我想要做的就是從ID數組中獲取連接另一端的所有條目。基本上我有源代碼,我想從模型中獲取所有目標ID的數據。如果有一種神奇的方式來獲得這些,而不需要我自己做所有的sql(通過活躍記錄的一些幫助),這將非常好!
謝謝:)
你試過:'SomeModel.where(:some_connection_id => anArrayOfIds)。選擇( 「some_other_connection_id」)映射:。some_other_connection_id ' – rubish
不錯。那實際上只返回了ID! :D 這是幹什麼的?它是否通過了resuls,並使用鍵「some_other_connection_id」從hashmap中選擇值?還是它懶加載它? – Automatico
不,它遍歷結果,在這裏沒有延遲加載。抱歉! – rubish