数据操作对象

获取数据操作对象

phpGrace 提供了 db() 函数、控制器、模型三种方式获取数据操作对象,详见下面的介绍;
说明 : 以下方式获取的数据操作对象都是以某个具体数据表为基础,可以直接进行表数据操作;

1. 通过 db() 函数获取数据操作对象

\db($tableName, $configName = 'db')
参数 1 : $tableName 表名称
参数 2 : $configName 全局配置中对应的键名称 【选填 默认 db】
示例代码 

<?php
class indexController extends grace{
    public function index(){
        $this->db = db('articles');
        p($this->db, true);
    }
}

2. 通过控制器的配置获取数据操作对象

在控制器类文件中配置 $tableName 属性控制器在初始化时会自动获取对应数据表的数据操作对象,并将其保存在 $this->db 变量内。
还可以通过 $tableKey 属性设置数据表的主键。示例代码 :

<?php
class testController extends grace{
    public $db;
    public $tableName = 'articles';
    public $tableKey  = 'article_id';
    public function index(){
        $data = $this->db
        ->where('article_id > ?', array(1))
        ->fetchAll('article_title');
        p($data);
    }
}

3. 在模型文件中获取数据操作对象

在模型类文件中配置 $tableName 属性控制器在初始化时会自动获取对应数据表的数据操作对象,并将其保存在 $this->db 变量内。
还可以通过 $tableKey 属性设置数据表的主键。
模型示例代码

<?php
// 文件位置 : phpGrace/models/test.php
namespace phpGrace\models;
class test extends \graceModel{
    public $tableName = 'articles';
    public $tableKey  = 'article_id';

    public function getData(){
        $data = $this->m
            ->where('article_id > ?', array(1))
            ->fetchAll('article_title');
        p($data);
    }
}

调用模型演示

<?php
class testController extends grace{
    public function index(){
        $testModel = new \phpGrace\models\test();
        $testModel->getData();
    }
}

或者 

<?php
class testController extends grace{
    public function index(){
        $testModel = model('test'); // test 为模型名称
        $testModel->getData();
    }
}

重要说明

1. 一旦获取数据操作对象,就可以使用对象内部的各类方法快速地完成数据的增删改查工作;
2. 数据操作对象提供了极其丰富的的数据操作方法,几乎不需要您去编写 sql 命令,详见见下一节;