2013-11-28 49 views
0

如果我有一個模型,即。用戶和每個用戶has_many:動物,我如何獲取一組特定用戶動物的列表?得到模特的孩子

我想要做這樣的事情:

a = User.where(:last_name => 'Statham').animals 

,有一個是動物對象的列表。我假設我錯過了一些簡單而瑣碎的事情。

回答

0

是的,簡單是正確的。你在那裏得到了很多用戶,所以你需要遍歷它們。

stathams = User.where(:last_name => 'Statham') 
stathams.each { |statham| statham.animals } 

如果你想避免重複:

animals = [] 
stathams = User.where(:last_name => 'Statham') 
stathams.each { |statham| animals << statham.animals } 
animals.uniq! 
+0

我得到的是,第一個用戶 - 但如果我想所有的動物屬於到一些用戶? IE瀏覽器。我想要列出屬於名字爲'John'的用戶的動物列表。 – opticon

+0

查看更新的答案。 –

0

試試這個:

Animal.where(user_id: User.where(last_name: "Statham"))