1

yii Cgridview の一番上に最高額を表示する必要があります。

私は 2 つのモデルを持っています:membersbillingmember_id は課金モデルの foregion キーです。私のモデル機能:

   public function getImportantMembers(){       
    $criteria = new CDbCriteria;        
    $criteria->select ='t.*,b.billing_id,b.amount,b.billing_date,b.member_id,b.billing_status , sum(b.amount) AS totalamount';      
    $criteria->join = 'JOIN billing AS b ON b.member_id = t.id ';
    $criteria->addCondition("b.billing_date > DATE_SUB(NOW(),INTERVAL 2 MONTH)  AND b.billing_status='c' AND b.amount > 150 ");               
    $criteria->group  = 't.id';        
    $criteria->order = " totalamount DESC";                   

    return new CActiveDataProvider(get_class($this),array(
        'pagination'=>array(            
            'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),),          
            'criteria'=>$criteria,
    ));
}

しかし、この関数は上部または金額 DESC に最高額を正しく表示していません。これを修正するにはどうすればよいですか?

4

1 に答える 1

0

モデルでリレーションを定義し、基準で使用します。次に、以下のように CSort オブジェクトを DataProvider に渡します。モデルで定義する限り、カスタム並べ替えパラメーターを定義できます。

return new CActiveDataProvider( 'Model', array(
    'criteria'=>$criteria,
    'sort'=>array(
        'attributes'=>array(
            ...........
            ...........

            '*',
        ),
    ),
));

詳細については、このリンクが役立ちます。 http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/

そのリンクが両方のテーブルのモデル コードを投稿するのに役立たない場合は、いくつかのサンプル コードを提供しようとします。

于 2013-09-30T11:38:03.913 に答える