2011-12-06 11 views
2

私のモデルでは使用できません。私のコントローラの実際の一部、ユーザー/表示をロードするたびに: モデルは、同じコントローラの他の機能

非常に基本的な

class User extends CI_Model 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 

    function getAll() 
    { 
     $this->db->order_by("lastName", "asc"); 
     $this->db->order_by("firstName", "asc"); 
     $this->db->order_by("userName", "asc"); 
     $query = $this->db->get('user'); 

     // test for result 
     if($query->num_rows() > 0) 
     { 
      return $query->result(); 
     } 

     return NULL; 
    } 
} 
、以下の見私のコントローラとしてデフォルトルートでは、エラー(さらに下に)が表示されます。コントローラのコンストラクタにロードされたモデルは、同じコントローラ内の他のすべての機能で使用できるはずですか?

class Users extends CI_Controller 
{ 
    function __contruct() 
    { 
     parent::__construct(); 
     $this->load->model('user'); 
    } 

    function display() 
    { 
     $data['users'] = $this->user->getAll(); 

     $head['pageTitle'] = 'Users Panel'; 

     $this->load->view('security/redirect'); 
     $this->load->view('template/head', $head); 
     $this->load->view('user/usersPanel', $data); 
     $this->load->view('template/foot'); 
    } 
} 

マイエラー:行に参照のうえ、 "$データ[ 'ユーザー'] =の$ this - > USER->のgetAll()"、上記コントローラで

A PHP Error was encountered 
Severity: Notice 
Message: Undefined property: Users::$user 

私の環境:

Codeigniter 2.1.0; 
Mac Lion; 
MAMP 2.0; 

答えて

9

このべきではない:

class Users extends CI_Controller 
{ 
    function __contruct() 
    { 

はこのようなこと:

class Users extends CI_Controller 
{ 
    function __construct() 
    { 

は、構築物でcontruct交換してください。

+0

これは私が見た最も奇妙な答えです。また最も面白い – iGbanam

+8

@ LanceとYaskyは答えをよく見てみてください。最初のものはsなしで構築する。 2番目のものにはsがあります。 :D – bot

+0

私はそれを同じように綴りました。そして、私はそれを10回見ても違いを見ることができませんでした。 – TurtleTread

1

これはすべきではない:

$data['users'] = $this->user->getAll(); 

番目のこと次のとおりです。

$data['users'] = $this->user_model->getAll(); 

気の毒にも モデル名:

ます$ this->ロード - >モデル( 'user_model');

とクラス名User_modelは私のCIプロジェクトのすべてがこのように設定されているCI_Model

を拡張します。

http://codeigniter.com/user_guide/general/models.html

+0

既に試してください。それでも同じエラー。それを資本「ユーザー」に変更するのと同じです。 – user1082522

+0

モデルファイルで大文字の 'User_model'とコントローラの' $ this-> user_model'(小文字)を試しましたか? – minboost

+0

もちろん、私はして、それを3倍にチェックします。 – user1082522

関連する問題