Codeigniter模型

时间:2012-11-01 04:59:40

标签: codeigniter

如何在控制器中使用模型的索引函数?

根据codeigniter用户指南,我们知道我们可以使用

$this->name_of_model->function_of_model();    

在控制器中。在重定向中,我们可以使用

redirect('controller_name/function_name');    

如果我们在控制器中使用索引函数,那么我们可以在重定向中使用

redirect('controller_name');

重定向到该控制器。这样我怎么用

$this->name_of_model->function_of_model();

这种语法。

由于

2 个答案:

答案 0 :(得分:0)

假设您在控制器索引中调用模型索引

Class test_controller extends CI_Controller
{
   function index(){

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

   }
}

现在,当您重定向到Controller索引时,将自动调用模型索引。

编辑: 但是,你可以像这样使用它

Class test_controller extends CI_Controller
{
   function index(){

       $query = $this->db->get('my_table');
       $data['query_result'] = $query->result();  

   }
}

模型索引就是这个

function index()
{
  $query = $this->db->get('my_table');
  return $query->result();
}

你应该注意模型索引在这里不被调用instaed模型已经无用我们正在没有它的工作。因此,分离数据库交互是有用的,并将其与控制器相结合,打破了MVC模式。

答案 1 :(得分:0)

class User_model extends CI_Model
{
    function __construct()
    {

        parent::__construct();
        $this->load->database();
    }

    function insertrow($data,$table){

        $this->db->insert($table,$data);
    }

    function updaterow($data,$table,$id){
        $this->db->where($id);
        $this->db->update($table,$data);
    }

    function fetchrow($table){

        $query = $this->db->get($table);
        return $query->result();

     }

     function fetchrowedit($tbl_name,$id){

    $query = $this->db->get_where($tbl_name, $id); 

    return $query->result();
    }


    function fetchrowlogin($info,$table){

        $this->db->select('*');
        $this->db->where($info);
        $this->db->from($table);
        $query = $this->db->get();
        if($query->num_rows() > 0){
        $row = $query->row_array();
            return $row;
        }
    }


        function alreadyexits($table,$var){
        $query = $this->db
        ->select('*')
        ->where($var)
        ->get($table)
        ->num_rows();
        return $query;
        }

        function isVarExists($table,$var){
        $query = $this->db
        ->select('*')
        ->where($var)
        ->get($table)
        ->num_rows();
        return $query;
            }

    function messages_list($ids){

        $this->db->where('reciver_id', $ids);
        $this->db->limit(10);
        $this->db->order_by("time", "asc");
        $this->db->from('message_table');
        $query = $this->db->get(); 
        return $query->result();
    }
}