2012-12-06 62 views
2

我需要顯示最大利率和最小投標率以及由登錄用戶使用統計/關係查詢發佈的每個請求的提議計數。我正在數或使用關係如何使用統計或關係查詢查找Yii中的最小和最大費率

public function relations() 
{ 
    return array('serviceproposals'=> 
         array(self::HAS_MANY,'Serviceproposal','ServiceRequestID'), 
        'user' => array(self::BELONGS_TO, 'Buyer', 'user_id'), 
        'postCount'=>array(self::STAT,'serviceproposal', 'ServiceRequestID','select'=>'MAX(proposal_rate)'), 

); 
} 

Datbase使用最小速率包括: - 提前

User[user_id,name,password], 
Provider[user_id,providercompany,providerdetails], 
Buyer[user_id,contactinfo], 
ServiceRequest[ServiceRequestID,Buyer.user_id,details,date], 
ServiceProposal[ServiceProposalId,ServiceRequestID,Provider.user_id,services,propsal_rate] 

謝謝..

回答

1

這是因爲我的錯,我沒有得到的數量,最高和最低費率。需要提供2個單獨的關係,所以3個值都會變得更好。

return array(

    'serviceproposals' => array(self::HAS_MANY, 'Serviceproposal', 'ServiceRequestID'), 
    'user' => array(self::BELONGS_TO, 'Buyer', 'user_id'), 
         'postCount'=>array(self::STAT, 'serviceproposal', 'ServiceRequestID'), 
         'maxvalue'=>array(self::STAT, 'serviceproposal', 'ServiceRequestID','select'=>'MAX(proposal_amount)'), 
         'minvalue'=>array(self::STAT, 'serviceproposal', 'ServiceRequestID','select'=>'MIN(proposal_amount)'), 

); 
}