读取新闻条目
在 上一篇文章 中,我们通过写出一个包含静态页面的类了解了一些框架的基本概念, 我们也根据自定义路由规则来重定向 URI 。现在是时候向大家介绍动态内容 和如何使用数据库了。
创建你的数据模型
数据库的查询操作应该放在模型里,而不是写在控制器里,这样可以很方便的重用它。 模型正是用于从数据库或者其他存储中获取、新增、更新数据的地方。它就代表你的数据。
打开 application/models/ 目录,新建一个文件 News_model.php ,然后写入下面的代码。 确保你的 数据库配置 正确。
<?php
class News_model extends CI_Model {
public function __construct()
{
$this->load->database();
}
}
这个代码和之前的控制器的代码有点类似,它通过继承 CI_Model 创建了一个新模型, 并加载了数据库类。数据库类可以通过 $this->db 对象访问。
在查询数据库之前,我们要先创建一个数据库表。连接你的数据库,运行下面的 SQL 语句(MySQL),并添加一些测试数据。
CREATE TABLE news (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(128) NOT NULL,
slug varchar(128) NOT NULL,
text text NOT NULL,
PRIMARY KEY (id),
KEY slug (slug)
);
现在,数据库和模型都准备好了,你需要一个方法来从数据库中获取所有的新闻文章。 为实现这点,我们使用了 CodeIgniter 的数据库抽象层 查询构造器 , 通过它你可以编写你的查询代码,并在 所有支持的数据库平台 上运行。 向你的模型中添加如下代码。
public function get_news($slug = FALSE)
{
if ($slug === FALSE)
{
$query = $this->db->get(