Php Yii:ClassName及其行为没有名为“的方法或闭包”;getRandomPlayers";
我面临一个奇怪的问题。我在模型中定义了一个函数,我从几周前开始使用这个函数,但它突然给了我一个错误 ClassName及其行为没有名为“GetRandomPlayer”的方法或闭包 以下是我的代码: 型号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
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”的类!