(CodeIgniter)将模型加载到视图中的正确方法是什么

时间:2016-10-06 07:20:05

标签: codeigniter

请帮助我,我是codeigniter的新手,我只是想用codeigniter创建一个简单的计算器。

我的控制器

public function loan_calc (){
    $this->load->view('/includes/head1');
    $this->load->view('/includes/nav');
    $this->load->model('model_loancal');
    $sagot = $this->model_loancal->calculate();
    $this->load->view('membersportal_loan', $sagot);
    $this->load->view('/includes/footer1');
}

模型

class Model_loancal extends CI_Model{
    public function calculate(){
        if(isset($_POST['calc'])){ 
            $num = $_POST['num'];
            $num2 = $_POST['num2'];
            $num3 = $_POST['num3'];
            $num4 = $_POST['num4'];
            $totals = $num+$num2+$num3+$num4;
        }
    }
}

查看



    <form class="col s12" method="post" action="<?php echo base_url(); ?>members-portal/loan"> 
      <div class="row">
            <div class="input-field col s3">
              <input id="num" type="text" name="num" class="validate">
              <label for="num">First</label>
            </div>
            <div class="input-field col s3">
              <input id="num2" type="text" name="num2" class="validate">
              <label for="num2">Second</label>
            </div>
            <div class="input-field col s3">
              <input id="num3" type="text" name="num3" class="validate">
              <label for="num3">Third</label>
            </div>
            <div class="input-field col s3">
              <input id="num4" type="text" name="num4" class="validate">
              <label for="num4">Fourth</label>
            </div>
      </div>
      <center><button class="btn waves-effect waves-light" type="submit" name="calc">Submit
        <i class="material-icons right">send</i>
      </button></center>
    </form>
   <?php 
     echo "$totals";
    ?>
&#13;
&#13;
&#13;

请帮助我,我是codeigniter的新手,我只是想用codeigniter创建一个简单的计算器。

2 个答案:

答案 0 :(得分:1)

您可以在控制器中加载模型

$this->load->model('modelname');

将此模型分配给这样的变量

$data['model_obj'] = $this->modelname;

并将此数据数组分配给视图模板

$this->load->view('template', $data);

在视图模板中使用$ model_obj对象来调用模型方法

$model_obj->any_method();

答案 1 :(得分:0)

在控制器约束器或要调用的函数中加载模型 如果你在一个约束器中加载它,当这个类的任何函数将在约束器中调用调用模型时,它将自动加载 代码如下

function versionGreaterEqual(newversion, oldversion) {
   var ov = oldversion.split('.').map(Number), //credit Nina :)
       nv = newversion.split('.').map(Number);
   return nv.reduce(function (a,b,i){
     return a+=b>=ov[i];
   },0)===nv.length;
}

console.log(versionGreaterEqual("1.3.54", "1.3.52")); //true
console.log(versionGreaterEqual("1.3.54", "1.13.52")); //false

加载此类的任何视图此模型的任何函数自动加载此视图。您可以在此视图中调用模型

$this->load->model('model_name');

并且只需调用此模型的任何功能,如下所示

$this->load->view('view_name');