【问题标题】:If-else statement not working correctly in codeigniterif-else 语句在 codeigniter 中无法正常工作
【发布时间】:2016-06-18 19:49:59
【问题描述】:

我已经遇到这个问题好几个小时了,我一生都无法弄清楚出了什么问题……我不是代码专家,所以我可能遗漏了一些非常简单的东西。我想要做的是将数据从我的控制器方法传输到我的模型。请告诉我如何以最好的方式解决这个问题。

控制器:

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>
...

【问题讨论】:

  • 您的实际错误信息是什么?也许返回 $data 只是空的?
  • 我真的没有收到错误消息,只是没有给我预期的答案。如果我将 $boolean 发送到视图并执行相同的表达式,我会得到正确的答案,这很奇怪。

标签: php codeigniter if-statement private


【解决方案1】:

这是您将数据从控制器传递到模型的方式:

//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/

【讨论】:

  • 我试过这个,但它似乎没有更新 $var 出于某种奇怪的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
  • 1970-01-01
  • 2014-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多