【问题标题】:Yii: ClassName and its behaviors do not have a method or closure named "getRandomPlayers"Yii:ClassName 及其行为没有名为“getRandomPlayers”的方法或闭包
【发布时间】:2014-07-02 05:05:32
【问题描述】:

我遇到了一个奇怪的问题。我有一个在模型中定义的函数,我从几周以来一直在使用,突然给我错误

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

    }
}

请检查。提前致谢

【问题讨论】:

  • 注意:我也无法调用模型中定义的其他方法。
  • 您确实将此函数添加到Users 类中,对吧?因为你一直提到ClassNameModel
  • 是的,实际上是用户类
  • 您没有任何model() 函数覆盖?即,如果您执行var_dump(Users::model()),它会输出Users 实例?
  • 我认为您有多个名为“Users”的类!

标签: php activerecord yii


【解决方案1】:

将静态添加到函数名称:

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

更新:

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

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

【讨论】:

  • 我收到这个致命错误:调用未定义的方法 ModelName::getRandomPlayers()
  • 是的,调用方式相同。看我之前的评论。没用
猜你喜欢
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 1970-01-01
相关资源
最近更新 更多