0

Rails 新手在这里。假设我有两个表,Owners (owner_id, name) 和 Cats (cat_id, cname)。它们通过一对多的关系关联起来,一个主人可以拥有许多猫,但一只猫只能拥有一个主人。给定 owner_id 的输入,我想检索该所有者拥有的每只猫的猫名和 id,并将其存储为哈希数组(即 [{:cat_id => 1, cname => "cat1"}, { :cat_id => 2, cname = "cat2"}]。

到目前为止,我有类似 output = [Owner.find(owner_id).join(:Cats)] 的内容,但我不确定如何完成该语句。太感谢了。

4

2 回答 2

1

Owner.find(owner_id).cats 会给你你想要的。

于 2012-10-01T23:02:14.373 回答
1

尝试这个:

Cat.all(:conditions => ['owner_id = ?', owner_id])

或者:

Owner.find(owner_id).cats

那个假设你has_many :cats在你的 Owner 模型中。如果您需要哈希列表而不是活动记录对象,您可以使用 .collect 来转换您的集合。

于 2012-10-01T23:02:45.917 回答