-1

現在Windowsボックスで実行されている小さなcodeigniterテストアプリを作成しました。Linux vmを作成し、この新しい仮想サーバーにアプリをインストールしようとしました。一部のWebアプリは正常に実行されていますが、他の部分は正常に実行されていません。具体的には、これは機能します。

 http://123.123.123.123/myapp/controller1/

しかし、これはしません:

 http://123.123.123.123/myapp/controller2/mymethod/1/2/3

controller2_modelをロードできないというエラーで失敗します。

失敗しているコントローラーの実際のコードは次のとおりです(実際にはxferLoggerとcontroller2と呼ばれます)。

 class xferLogger extends CI_Controller { 
      public function __construct() { 
              parent::__construct();
              echo(2); 
              $this->load->model('xferLogger_model'); 
              $this->load->helper('date'); //this library is needed for the base_url() method that is being called in the view "result.php" 
              $this->load->helper('url'); 
      } 

モデルは次のとおりです。

class xferLogger_model extends CI_Model { 
    public function __construct() { 
              $this->load->database();
                } 

完全なエラーメッセージは次のとおりです。エラーが発生しました。指定したモデルが見つかりません:xferlogger_model。

これが私が気づいたことです。エラーメッセージでは、ロガーの「L」が小文字であることがわかります。しかし、私のコードでは、大文字のLです。コントローラー、モデル自体、およびroutes.phpファイルをチェックインしました。ケーシングに問題がないようです。

??

4

1 に答える 1

0

ユーザーガイドから:クラス名の最初の文字は大文字で、残りの名前は小文字にする必要があります。したがって、次のようになります。

class Xferlogger_model extends CI_Model // First letter capitalised

とモデルの負荷

$this->load->model('xferlogger_model');  // lower case

とあなたのPHPファイル名

xferlogger_model.php    // lower case

Codeigniterモデルユーザーガイド

于 2012-05-24T18:51:35.810 に答える