如何将模型值传递给控制器​​?

How to get model value to controller?

我正在使用 codeigniter 3.1。

我想通过模型传递发布的数据,但要传递登录信息,我需要将模型值传递给控制器​​?

如何获取模型值给控制器?

控制器

<?php 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller 
{
    public function __construct() 
    {
         parent::__construct();
         $this->load->model("user_login");
    }

    public function index()
    {

        $post = $this->input->post("post", true);

        if ($this->user_login->check($post)) {
            if ($this->user_login->logins == "pass") {  
                echo "valid";
            } else {
                echo "Invalid";
            }
        }
    }
} 
?>

型号

<?php

class User_Login extends CI_Model 
{
    var $logins=false;

    public function check($post) 
    {
        $results = $this->db->where('username', $post)
                            ->get('users');

        if($results->num_rows() > 0){
            $this->logins = "pass";
        } else {
            $this->logins = "fail";
        }
    }
}
?>

1) 首先,如果你想使用任何public变量,不需要使用var。直接写 $logins=false;

2) 接下来你应该从你的模型中获取一些东西来检查这种类型的东西。喜欢 return "pass"return "fail"

3) 之后,当您从控制器检查它时,您可以将此 return 数据保存到这样的变量中 $return_value = $this->user_login->check($post)。最后,它可以像下面的代码 -

 if ($return_value) {
    if ($return_value == "pass") {   
    echo "valid";
   } else {
    echo "Invalid";
   }
}

控制器

class Login extends CI_Controller 
{
    public function __construct() 
    {
        parent::__construct();
        $this->load->model("user_login");
    }

    public function index()
    {

       $post = $this->input->post("post", true);

       if ($this->user_login->check($post)==true) {
          echo "valid";
       }
       else{
          echo "invalid";
       }
   }
} 
?>

模态

 <?php

 class User_Login extends CI_Model 
 {
    var $logins=false;

    public function check($post) 
    {
       $results = $this->db->where('username', $post)
                        ->get('users');

       if($results->num_rows() > 0){
          return true;
      } else {
          return false;
      }
   }
 }
?>