在Yii中对网格视图中的自定义列进行排序

时间:2015-07-15 09:10:49

标签: php sorting gridview yii

我必须从其他表中检查产品数量否,并将其显示在当前网格视图中。所以我在模型中创建了一个函数来获取该列的计数。

但我的问题是如何在网格视图中对该自定义列(checked_kpl)进行排序

这是我的代码。

MODEL

public function search() {
    $criteria = new CDbCriteria;

    $criteria->compare('id', $this->id, true);
    $criteria->compare('purchase_order_id', $this->purchase_order_id);
    $criteria->compare('product_id', $this->product_id);
    $criteria->compare('unit_price', $this->unit_price, true);
    $criteria->compare('qty', $this->qty, true);
    $criteria->compare('cost_price', $this->cost_price, true);
    $criteria->compare('customs_percent', $this->customs_percent, true);
    $criteria->compare('discount_percent', $this->discount_percent, true);
    $criteria->compare('notes', $this->notes, true);
    $criteria->compare('created_at', $this->created_at, true);
    $criteria->compare('updated_at', $this->updated_at, true);

   return new CActiveDataProvider($this, array(
    'criteria' => $criteria,
   ));
   }
}




public function getCheckedKpl() {
    $checked_kpl = 0;
    if (!empty($this->purchaseOrderArrivals)) {
        foreach ($this->purchaseOrderArrivals as $eachArrival) {
            $checked_kpl += $eachArrival->qty;
        }
    }
    return $checked_kpl;
}

注意: - purchaseOrderArrivals是另一种模式。我已经与这个模型建立了关系。 - getCheckedKpl函数给我数了产品数量。

查看 - 在视图中,我将此代码放在gridview小部件中以显示列。

    array(
            'name' => 'checked_kpl',
            'value' => '$data->getCheckedKpl()',
            'type' => 'raw',
            'class' => 'DataColumn'
         ),

任何帮助都会表示赞赏。感谢。

0 个答案:

没有答案