2013-11-28 138 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"))