2010-01-20 76 views
0

我有关联的问题:关联问题

大队 :战士的has_many

士兵 :初选的has_many

我需要这样做 @bseniorleads =(@ user.battalion .soldiers.find(:all,:conditions => [“seniorleader =?”,“Yes”])) then @seniorspouse =(@ bseniorleads.primaries.find(:all,:conditions => [“relationship = ?“,”配偶“]

这给了我一个未定义的初选方法,我假设因为bseniorleads是一个数组?

基本上我不知道如何以正确的方式做到这一点,但我需要能够从一个模型中查询符合条件的组,然后获取该结果并从另一个模型中找到属于他们的人员。有任何想法吗?

在此先感谢。

回答

0

你应该能够做这样的事情(假设你只需要在第二个查询的@bseniorleads实例变量):

@senior_spouse = @user.battalion.soldiers.find(
    :all, 
    :select => 'primaries.*', 
    :joins => [:primaries], 
    :conditions => ["seniorleader = ? and primaries.relationship = ?", "Yes", "Spouse"] 
) 

我还没有检查了,但我认为它应该让你八九不离十。

你可能想看看这两个导轨导向,这肯定有助于我更好地理解ActiveRecord关联和查询:

+0

太感谢你了,我已签出去的导游,他们是一个巨大的帮助,我是如此新的编程,使任何复杂抛出我。这对了解我需要做什么以及如何工作有很大的帮助。 – looloobs 2010-01-21 19:52:02