2013-12-12 49 views
0

我的Rails应用程序中有两个模型:MemTeam。一个team有许多memsRails获取模型的指定字段

大家都知道,如果我只是想在team领域id,我会写:

Team.select('id') 

如果我想获得一个memteam,我会写:

Mem.find(1).team 

现在我想球队的id和名字,所以我写:

Mem.find(1).team.select('id,name') 

我得到了一个错误。

我该如何正确地做到这一点?

回答

0

您正在将SQL查询与模型属性混淆。 Team.select('id')是查询的第一部分,它将返回您正在查找的任何团队的ID。如果您想获得团队模型的编号,您只需编写team.id,那么您的代码应该是mem.team.id,其中memMem类中的一个模型,而teamTeam类中的一个模型。

让我解释一下。为了从数据库中检索模型,您需要一些模型独有的信息。我将假设您将使用id,但您可以使用任何属性或属性组合。

让我们从数据库中检索我们的模型:

star_player = Mem.find('5') 
team_id = star_player.team.id 

两个查询被执行,一个使用find检索您的团队成员和其他检索团队ID用钢轨协会,你应该有自动执行建立。

+0

谢谢您的回答,也许领域不只是'id',也许有些领域就像'name','dt'。 – HXH