情况:CausalType 1 -> N Causal
进入 causaltype 的管理视图,我使用的是 cgridview,我必须显示每个 causalType 的 causala 数量。
我将关系设置为 CausalType
return array(
"causals" => array (self::HAS_MANY, "Causal", "causalTypeId" ),
);
我添加了类变量
public $activeCausalCount;
这是管理视图中的列
array (
'name' => 'activeCausalCount',
'value' => 'count($data->causals)',
),
实际上这是我在 search() 中的标准
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('isActive',$this->isActive);
每种类型的因果计数都是正确的,但我有一些问题
1)我只需要计算 ACTIVE 因果关系(计算 causals.isActive = 1 的因果关系)
2)我需要对列进行排序
3)我需要过滤(按整数)