Вечер в хату, многоуважаемые! Прошу помочь с моим вопросом.
В модель product добавлен такой метод - он определяет на сколько процентов заполнены поля в товаре (если добавлена хотя бы одна картинка, то +33.3%, если есть описание, то +33.3%, если добавлены параметры, то +33.3%):
public function getPrcFilling() {
$result = 0;
if ( count($this->images) ) {
$result += 33.3;
}
if ( count($this->params) ) {
$result += 33.3;
}
if ( $this->description != '' ) {
$result += 33.3;
}
return round($result);
}
а также:
public function relations()
{
return array(
'category' => array(self::BELONGS_TO, 'Category', 'category_id'),
'StoreProducts' => array(self::HAS_MANY, 'StoreProducts', array('product_id' => 'id')),
'params' => array(self::HAS_MANY, 'ProductParams', array('product_id' => 'id')),
'images' => array(self::HAS_MANY, 'ProductImages', array('product_id' => 'id')),
);
}
затем добавил колонку в CGridView:
array(
'name' => 'prc',
'header' => '%',
'value' => '$data->getPrcFilling()',
'htmlOptions' => array('width' => 10, 'align' => 'center'),
'filter'=> CHtml::listData(
array(
0 => array(
'id' => 0,
'title'=>'0%',
),
1 => array(
'id' => 1,
'title'=>'34%',
),
2 => array(
'id' => 2,
'title'=>'67%',
),
3 => array(
'id' => 3,
'title'=>'100%',
),
),
'id',
'title'
),
),
Как можно осуществить сортировку и фильтрацию по этой колонке?