2011-07-07 24 views
1

です見ていないこれは私の最初のOOP PHPのアプリで、私はここに困惑少しを取得しています...私の拡張CodeIgniterの2.0.2クラスは、それが親クラスのメソッド

私は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; 
} 
} 

両方のクラスがモデルdiretoryであり、そしてクラスLXCoreModelが自動的にロードされる(ライン$自動ロード[「モデル」] =配列( ' LXCoreModel '); autoload.phpファイルに存在する)と、まだ、私は自分のコードを実行しようとすると、私はこのエラーを取得:お時間を

Fatal error: Call to undefined function elementExists() in C:\wamp\www\CI_APP\application\models\LXAccAdminModel.php on line 25

感謝を! :)

答えて

1

あなたはelementExists()を呼び出していますが、クラスのメソッドではありません。

試してみてください。

$this->elementExists(); 

またはLXAccAdminModelから:

parent::elementExists(); 

$this->elementExists()$thisは現在のクラスを参照して、両方のケースで十分です。

+0

あるべきelementExists()関数を呼び出している間$thisを置くことを忘れているあなたの派生クラスであります!それは私の問題を修正した、ありがとう! – Loupax

0

私は間違っていないよ場合は、エラーはあなたが私はそれを行う必要があります知りませんでした$this->elementExists()

関連する問題