这是我的第一个OOP 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 diretory中,而类LXCoreModel是自动加载的(行$ autoload ['model'] = array('LXCoreModel');存在于autoload.php文件中)然而,当我尝试运行我的代码我收到此错误:
致命错误:调用未定义 function elementExists()in C:\ WAMP \ WWW \ CI_APP \程序\型号\ LXAccAdminModel.php 第25行
感谢您的时间! :)
答案 0 :(得分:1)
您正在调用elementExists()
,但不是该类的方法。
尝试:
$this->elementExists();
或者来自LXAccAdminModel
:
parent::elementExists();
$this->elementExists()
在这两种情况下都应该足够了,$this
引用当前的类。
答案 1 :(得分:0)
如果我没有错,则错误发生在您的派生类中,您忘记在调用应$this
的{{1}}函数时放置elementExists()