状況: CausalType 1 -> N Causal
causaltype の管理ビューでは、cgridview を使用しています。各 causalType の因果数を表示する必要があります。
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) アクティブな因果関係のみをカウントする必要があります (causals.isActive = 1 の因果関係をカウントします)
2) 列をソートする必要があります
3)(整数で)フィルタリングする必要があります