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

时间:2014-07-02 05:05:32

标签: php activerecord yii

我面临一个奇怪的问题。我有一个模型定义的功能,我已经使用了几周,突然给我错误

  

ClassName及其行为没有名为" getRandomPlayers"

的方法或闭包

以下是我的代码: 的模型

 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");
            }
         }

    }
}

请检查。提前致谢

1 个答案:

答案 0 :(得分:-1)

将static添加到函数名称:

public static function getRandomPlayers($params){ ...

更新:

然后你就可以使用它:

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