2016-03-04 245 views
0

我已經有這個問題好幾個小時了,我不能爲我的生活弄清楚什麼是錯的......我不是代碼親,所以我可能錯過了一些真正的東西簡單。我想要做的是將數據從我的控制器方法傳輸到我的模型。請告訴我如何以最好的方式解決這個問題。If-else語句在codeigniter中不能正常工作

控制器:

class Some_controller extends CI_Controller { 

    function controller_method() { 
     $this->load->model('Some_model'); 

     $boolean = /* get tiny int */; 
     $data['result'] = $this->Some_model->do_stuff(); 
     $this->load->view('Some_view', $data); 
    } 
} 

型號:

class Some_model extends CI_Model { 

     private $var; 

     function __construct() { 
      $boolean ? $this->var= 100 : $this->var = 1000; 
      parent::__construct(); 
     } 

     function do_stuff() { 
      $data = $this->var; 
      /* manipulate $data */ 
      return $data; 
     } 
    } 

的觀點:

... 
<p><?php echo $result; ?></p> 
... 
+0

什麼是你實際的錯誤信息?也許返回'$ data'只是空的? – Jan

+0

我真的沒有收到錯誤消息,它只是沒有給我預期的答案。如果我發送$布爾值到視圖並做相同的表達式,我會得到正確的答案,這很奇怪。 – geract

回答

0

這是你如何從控制器傳遞數據的模型:

//controller 
function controller_method() 
{ 
    $this->load->model('some_model'); 
    $boolean = TRUE; 
    $this->some_model->do_suff($boolean); 
} 

//model 
function do_stuff($boolean) 
{ 
    //check $boolean value 
    if($boolean){ 
    $this->var = 100; 
    }else{ 
    $this->var = 1000; 
    } 
} 

我建議你花一些時間閱讀的CI用戶指南:

http://www.codeigniter.com/user_guide/

+0

我試過這個,但它似乎沒有更新$ var的一些奇怪的原因。 – geract