📜  详细描述 CodeIgniter 的“模型”(1)

📅  最后修改于: 2023-12-03 15:28:09.720000             🧑  作者: Mango

CodeIgniter 的“模型”

什么是模型?

在 CodeIgniter 中,“模型”是用于处理计算机应用程序的逻辑、操作数据库的组件。模型负责与数据库的通信,包括访问、添加、修改和删除数据的动作。模型将接收从控制器发送的请求,执行请求相应的操作,并将结果返回给控制器。

CodeIgniter 中的模型

CodeIgniter 实现了轻量级的模型-视图-控制器(MVC)模式,允许轻松地处理复杂的应用程序逻辑。模型常常是 MVC 应用程序中最重要的部分,往往是掌管整个应用程序的业务逻辑和数据操作的核心。

CodeIgniter 中的模型应该:

  • 处理所有的数据操作和数据库访问。
  • 不知道控制器和视图的存在。
  • 将数据作为数组打包,以便它们可以被视图解释。
如何编写 CodeIgniter 模型?

在 CodeIgniter 中,编写模型非常简单:

  1. 新建一个文件 %application_folder%/models/My_model.php(其中 My_model 可以替换成你的模型名)。

  2. 在该文件中,定义一个类,并继承 CodeIgniter 的基础模型类 CI_Model

    <?php
    class My_model extends CI_Model {
        // 在这里定义模型的属性和方法
    }
    
  3. 在类中,通过定义一个或多个方法来处理数据库操作和业务逻辑。

    <?php
    class My_model extends CI_Model {
        // 查询所有数据
        public function get_all_data() {
            $query = $this->db->get('mytable');
            return $query->result_array();
        }
    
        // 添加一条记录
        public function add_data($data) {
            $this->db->insert('mytable', $data);
        }
    
        // 删除一条记录
        public function delete_data($id) {
            $this->db->where('id', $id);
            $this->db->delete('mytable');
        }
    }
    
  4. 在控制器中调用模型的方法,并将结果传递给视图。

    <?php
    class My_controller extends CI_Controller {
        public function index() {
            $this->load->model('my_model');
            $data['results'] = $this->my_model->get_all_data();
            $this->load->view('my_view', $data);
        }
    }
    
模型的常用方法
  • get():查询一条数据。
  • get_where():按条件获取数据。
  • insert():添加数据。
  • update():更新数据。
  • delete():删除数据。
  • query():手动执行 SQL 语句。