1 模型的概念:模型是专门用来和数据库打交道的PHP类。
2 剖析模型: 1)存放位置:application/models/文件夹中,也可以在这个文件夹中建立子文件夹
2)基本的模型类示例:
类的文件名application/models/user_model.php
class User_model extends CI_Model{ function __construct(){ parent::__construct(); } } ?>
3 在控制器中载入模型
语法:his->load->model('Model_name);
示例:application/models/blog/queries.php
$this->load->model('blog/queries');
模型一旦被载入,可以通过下面的方法使用它
$this->load->model('Model_name); $this->Model_name->function();
在默认的情况下模型名称就直接被引入作为对象名,就如上面所示,但是也可以起个更好记的对象名例如:
$this->load->model('Model_name','fubar'); $this->fubar->function();
4 自动载入模型: 如果需要一个在整个项目中都起作用的特定模型,可以让CodeIgniter在初始化时自动装载它
方法:在applicaion/config/autoload.php文件中在自动装载数组中添加上这个模型。
注意:当加载模型越多消耗内存就会越大。自动加载模型是要牺牲内存消耗换取的,尽量不要自动加载不必要贯穿全站的模型
5 一个模型示例:
class Blogmodel extends CI_Model{ var $title = ''; var $content = ''; var $date = ''; function __construct(){ parent::__construct(); } function get_last_ten_entries(){ $query = $this->ldb->get('entires',10); return $query->result(); } function insert_entry(){ $this->title = $_POST['title']; $this->content = $_POST['content']; $this->date = time(); $this->db->insert('entries',$this); } function update_entry(){ $this->title = $_POST['title']; $this->content = $_POST['content']; $this->date = time(); $this->db->update('entries',$this,array('id' =>$_POST['id'])); } }
注意:直接使用了$_POST,这不太好,平时应该使用输入类:$this->input->post('title');