yii框架.猫的树函数在模型文件中不起作用


yii framework. cats tree functions aren`t working in the model file

 public function getCats($model){
    $levels = array();
    $tree = array();
    $cur = array();
    foreach($model as $rows){
        $cur = &$levels[$rows['id']];
        $cur['parent_id'] = $rows['parent_id'];
        $cur['title'] = $rows['title'];
        if($rows['parent_id'] == 0){
            $tree[$rows['id']] = &$cur;
        }
        else{
            $levels[$rows['parent_id']]['children'][$rows['id']] = &$cur;
        }
    }
    return $tree;
}
public function getTree($arr){
        echo '<ul>';
        foreach($arr as $k=>$v){
            echo '<li>';
                echo '<a href="/page/index/id/'.$k.'">'.$v['title'].'</a>';
                    if(!empty($v['children'])){
                        echo getTree($v['children']);
                    }
            echo '</li>';
        }
    echo '</ul>';
}
public function allCats($pos) {
    $model = Category::model()->findallBySql('SELECT id, parent_id, title FROM {{category}} WHERE position="'.$pos.'"');
    $cats = getCats($model); 
    echo getTree($cats); 
}

我想知道,为什么这些函数不工作在模型文件(类内部)?如果我在控制器中使用它们,它们工作得很好,如果我将它们粘贴在模型(类)文件中,它们就会停止工作(就好像它们变得不可见一样)。最后一个函数导致上述两个函数

您正在调用getCats($model),这将是一个全局函数。但它被定义为类函数/方法。将其命名为$this->getCats($model)$this->getTree($cats),应该可以工作。