2017-12-06 22 views
0

私は上記のエラーが発生する可能性がありますfor.theループ上の結果を取得しようとしています。それはid、title、descriptionのような列を含んでいます。Codeigneitorエラー:NULLのメンバー関数の結果()を呼び出す

私のコントローラ

class news extends CI_Controller 
{ 
    function __construct() { 

     parent::__construct(); 

     $this->load->helper('url'); 
     $this->load->database(); 
     $this->load->helper('form'); 
     $this->load->library('upload'); 
     $this->load->model('news_model'); 
    } 

    function index(){ 

     $this->load->model('news_model'); 
     $this->data['NewsData'] = $this->news_model->get_news(); 
     $this->load->view('site/cms/news',$this->data); 
    } 

} 

モデル

class news_model extends CI_Model 
{ 
    public function __construct() 
    { 
     parent::__construct(); // Construct CI's core so that you can use it 
     $this->load->database(); 

    } 

    function get_news(){ 


     $this->db->select('*'); 
     $this->db->from('news'); 
     $news_details = $this->db->get(); 
     return $news_details; 
    } 
} 

ビュー

<?php if($NewsData->result() > 0){ 
        foreach($NewsData->result() as $add){?> 
<p><?php echo $add->title; ?></p> 

<?php }} ?> 
+0

エラーメッセージは、その理由を特定しています。オブジェクトの代わりにnullでresult()メソッドを呼び出そうとしました。つまり、$ NewsDataはnullです。理由を明らかにする。 – Gordon

+0

結果があるかどうか常にチェックしてください。そうでない場合は、結果をループしたり、エラーメッセージを表示したりしないでください。 – Alex

答えて

2

ラインの下から使用してコードを修正してください。

<?php if($NewsData->num_rows() > 0){ 
     foreach($NewsData->result() as $add){?> 
      <p><?php echo $add->title; ?></p> 

     <?php } 
} ?> 
関連する問題