doufei8691 2015-10-08 13:48 采纳率: 100%
浏览 36
已采纳

为什么PHP没有在CodeIgniter中找到我的模型类?

I keep seeing this error -

enter image description here

This is the offending function -

private function getInfo(){
    $this->Features = new UserFeatures_Model($this->ID); //<-- Offending line of Code
    /*Other Stuff - Not Relevant*/
}

This is from where it's being called -

public function __construct($UserID = NULL){
    parent::__construct( TRUE );
    $this->database = $this->load->database('users', TRUE);
    $this->table = 'users';
    $this->idKey = 'User_ID';
    //Assigned UserID should have precedence.
    if (!is_null($UserID)) { $this->ID = $UserID; }
    //If there exists a UserID within this session, automatically load it.
    elseif ($this->session->UserID){ $this->ID = $this->session->UserID; }
    if (isset($this->ID)){ $this->getInfo(); }
}

My first guess as to why this is throwing a fit is because I'm calling the getInfo() method in the constructor... but I'm pretty sure that's not the issue.

Anyway, here is the class definition that it is saying does not exist -

class UserFeatures_Model extends MY_Model {
    /*Irrelevant stuff since it's not 'seeing' this class anyway...*/
}

And here is the directory structure -

enter image description here

It's there unless I'm hallucinating (a distinct possibility, I am quite tired...)

Why is(are) CI/PHP not finding this class?

  • 写回答

1条回答 默认 最新

  • dongzi0602 2015-10-08 14:04
    关注

    You must use $this->load->model('UserFeatures_Model'); inside your getInfo() controller before you call that model function.

    private function getInfo($id){
       $this->load->model('UserFeatures_Model');
        $this->Features = $this->UserFeatures_Model->some_function_inside_model($id); 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?