0

次の 2 つの named_scopes があります。

  named_scope :scope1,  lambda { |pi_id|
    { :select => "DISTINCT REF_PRO.*",
      :joins => "INNER JOIN LNK_PRO ON  LNK_PRO.PR_PRO_FK = REF_PRO.RPR_ID 
                 INNER JOIN EMI_SUBMISSION on EMI_SUBMISSION.SUB_ID =  LNK_PRO.PR_SUBMISSION_FK
                 INNER JOIN EMI_PERSON on EMI_PERSON.PER_ID = EMI_SUBMISSION.SUB_PI_FK ",
      :conditions=>["EMI_PERSON.PER_ID = ? ", pi_id],
      :group => "REF_PRO.RPR_ID"

    }
  }


  named_scope :scope2, lambda { |pi_id|
    { :select => "REF_PRO.*",
      :joins => "INNER JOIN REF_USER ON REF_USER.USR_ID = REF_PRO.RPR_CREATED_BY 
                 INNER JOIN LNK_USER_PI on LNK_USER_PI.USP_USER_FK = REF_USER.USR_ID ",
      :conditions=>["LNK_USER_PI.USP_PI_ID = ? ", pi_id]
    }
  }

私は彼らの結果に参加する必要があります。

2 つの結果セットを結合する方法はありますか? そうでない場合、上記の名前付きスコープの結合結果を返すように、1 つの named_scope を変更するにはどうすればよいですか?

助けてくれてどうもありがとう

4

1 に答える 1

0

あなたはこれを行うことができます:

Model.scope1+Model.scope2
于 2012-10-02T16:41:31.103 に答える