Php Yii:ClassName及其行为没有名为“的方法或闭包”;getRandomPlayers";

Php Yii:ClassName及其行为没有名为“的方法或闭包”;getRandomPlayers";,php,activerecord,yii,Php,Activerecord,Yii,我面临一个奇怪的问题。我在模型中定义了一个函数,我从几周前开始使用这个函数,但它突然给了我一个错误 ClassName及其行为没有名为“GetRandomPlayer”的方法或闭包 以下是我的代码: 型号 public function getRandomPlayers($params) { $criteria_obj= new CDbCriteria; $criteria_obj->order="random()"; $criteria_obj->cond

我面临一个奇怪的问题。我在模型中定义了一个函数,我从几周前开始使用这个函数,但它突然给了我一个错误

ClassName及其行为没有名为“GetRandomPlayer”的方法或闭包

以下是我的代码: 型号

 public function getRandomPlayers($params)
{
    $criteria_obj= new CDbCriteria;
    $criteria_obj->order="random()";
    $criteria_obj->condition="user_id!=".$params['user_id'];
    $criteria_obj->limit=7;

    $random_users= Users::model()->findAll($criteria_obj);
    if(!empty($random_users))
        return $random_users;
    else
        return false;
}
控制器

 public function actionInviteRandom()
{
    $body_data = $this->getRequest()->getRawBody();
    $data_posted = json_decode($body_data);

    if(!empty($data_posted->user_id))
    {
        $check_valid_user=Users::model()->findByPk($data_posted->user_id);
        if(empty($check_valid_user))
        {
            $this->sendResponse(200, array("status_code" => "002",
                                                       "status_message" => Yii::t('strings', 'User does not exist'),
                                           )
                                );
        }
        else
        {
             $params=array(
                                "user_id"=>$data_posted->user_id,
                           );

            $get_users= Users::model()->getRandomPlayers($params);
            $count=0;
            if(!empty($get_users))
            {

                 die("here");
            }
         }

    }
}

请查收。提前感谢

将静态添加到函数名称:

public static function getRandomPlayers($params){ ...
更新:

然后你可以像这样使用它:

 $get_users= Users::getRandomPlayers($params);

我得到了这个致命错误:调用未定义的方法ModelName::getRandomPlayers(),是的,调用方式相同。见我之前的评论。无法工作注意:我也无法调用模型中定义的其他方法。您确实将此函数添加到了
用户
类,对吗?因为您一直在引用
ClassName
Model
是的,实际上它是Users cals,并且您没有任何
Model()
函数覆盖?i、 e.如果你做一个
var\u转储(Users::model())
它会输出一个
Users
实例?我想你有多个名为“Users”的类!