Yii 自定义cgridview的删除按钮功能

Yii 自定义cgridview的删除按钮功能,yii,cgridview,Yii,Cgridview,我有两张桌子: 菜单:id,名称 类别:id、名称、菜单\u id 在这里,类别表具有菜单id外键 菜单模型的关系 'mnuCategories' => array(self::HAS_MANY, 'MnuCategories', 'menu_id'), 自定义CGridView的删除按钮 array( 'class'=>'CButtonColumn', 'template'=>'{update}{delete}

我有两张桌子:

菜单:id,名称

类别:id、名称、菜单\u id

在这里,类别表具有菜单id外键

菜单模型的关系

'mnuCategories' => array(self::HAS_MANY, 'MnuCategories', 'menu_id'),
自定义CGridView的删除按钮

array(
            'class'=>'CButtonColumn',
            'template'=>'{update}{delete}
            'buttons'=>array
            (
                 'delete'=> array(
                            'click'=>'js:function()',
                             )              
            ),
        ),

在这里,我想通过检查子记录是否存在或计数子记录来定制删除操作。如果计数大于1,则警报用户“无法删除!”!“存在子记录”。如果计数为零,则允许用户通过确认消息进行删除。

或者您可以在模型中放置beforeDelete()函数,并在其中检查您的逻辑,如果要防止删除,则返回FALSE。

在模型中添加

protected function beforeDelete() {

parent::beforeDelete();

/* 
* Check children
* 1. if (0 > $count > 2) return FALSE;
* 2. if ($count == 1) return TRUE;
*/

}