我的扩展CodeIgniter 2.0.2类没有看到它的父类方法


My extended CodeIgniter 2.0.2 class doesn't see it's parent class methods

这是我的第一个面向对象的php应用程序,我在这里有点难住了…

我创建了下面的类来扩展CI_Model

class LXCoreModel extends CI_Model{
 function __construct() {
         parent::__construct();
}

public function elementExists($table,$row,$data){
     $result = $this->db->select('*')->from($table)->where($row, $data)->get()->result();
     if(empty($result))return false;
     return true;
}
}

下面是上面类的扩展:

class LXAccAdminModel extends LXCoreModel{
function __construct()
{
    parent::__construct();
}
function addAccountStatus($statusId=NULL, $username=NULL){
    if($statusId==NULL)$statusId = $this->input->post('accountStatusId');
    if($username==NULL)$username = $this->input->post('username');
    if(elementExists('accounts','username',$username))
            if(elementExists('statuses','id',$statusId))
            {$this->db->insert('accountstatus',array('statusid'=>$statusId,'username'=>$username)); return true;}
    return false;
}
}

两个类都在Model目录中,类LXCoreModel是自动加载的($ autolload [' Model'] = array('LXCoreModel');存在于autolload .php文件中),然而,当我试图运行我的代码时,我得到这个错误:

致命错误:Call to undefined函数elementExists()C: ' wamp ' www ' CI_APP '程序' ' LXAccAdminModel.php模型第25行

谢谢你的时间!:)

您正在调用elementExists(),但不是作为类的方法。

试题:

$this->elementExists();

或从LXAccAdminModel:

parent::elementExists();

$this->elementExists()应满足这两种情况,$this指的是当前的类。

如果我没有错,那么错误是在您的派生类中,您忘记在调用elementExists()函数时放置$this,应该是$this->elementExists()