1

Ok。だから私はCIを使ってウェブサイトに取り組んでいます。これが私のコントローラーの構造です:

class MY_Controller extends Controller
class User extends MY_Controller
class User_Model

そこで、User コントローラーのコンストラクター内に User_Model をロードします。User_Model から何かを印刷しようとしたので、正しく読み込まれていることがわかりました。ただし、ユーザーコントローラーから User_Model の関数の 1 つを使用すると、エラーが発生し始めました。これは私が受け取ったエラーです:

未定義のプロパティ: ユーザー::$User_Model

誰にもアイデアはありますか?

これは拡張コントローラーです

class MY_Controller extends Controller {
    public function __construct() {
      parent::Controller();
    }
}

これがコントローラー

class User extends MY_Controller {
    public function __construct() {
      parent::__construct();
      $this->load->model('user_model');
      echo $this->user_model->validate_user('hartantothio');
    }
}

これは User_model です

class User_model extends Model {
    public function __construct() {
        parent::Model();
    }        
    public function validate_user($user, $pass = '') {
        return '123';
    }
}
4

4 に答える 4

2
$this->load->model('user_model');

読むべき

$this->load->model('User_model');

モデル名は大文字と小文字が区別されます!

于 2011-06-03T20:05:45.507 に答える
0

さて、MY_Controller を取得し、ユーザー コントローラーをコントローラーから直接拡張することで、問題が修正されます。

于 2010-02-06T04:23:45.037 に答える
0

My_Controllerファイルはどこに置く?私は自分のものを入れましたsystem/application/librariesが、問題はありません。また、次の代わりに、PHP4コンストラクターの方法を使用して記述します__constructor

class MY_Controller extends Controller {

  var $is_ajax_request = '';
  var $is_ajax_form = '';

  function MY_Controller()
  {
    parent::Controller();
    //initialize
    $this->is_ajax_request = ($this->input->server('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest');
    $this->is_ajax_form = ($this->input->post('ajax') == 'ajax');
    log_message('debug', "MY_Controller Class Initialized");
    //do extra stuffs here
    //...
  }

}
于 2010-02-08T03:22:58.970 に答える
0

$this->User_Model->function_name() という構文を使用して関数を呼び出していますか?

また、過去に大文字と小文字の区別に関する問題に遭遇したことも知っています。

于 2010-02-04T19:54:05.467 に答える