包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - QDB_Table

database
类层次 class QDB_Table
版本 $Id: table.php 2637 2009-07-27 09:09:09Z dualface $

QDB_Table 类(表数据入口)封装数据表的 CRUD 操作

公开的属性

隐藏继承的属性

属性类型描述定义于
$schema string 数据表的 schema QDB_Table
$name string 数据表名称 QDB_Table
$prefix string 数据表前缀 QDB_Table

保护的属性

隐藏继承的属性

属性类型描述定义于
$_pk string|array 主键字段名,如果是多个字段,则以逗号分割,或使用数组 QDB_Table
$_is_cpk boolean 指示是否使用了复合主键 QDB_Table
$_pk_count int 指示主键字段的总数 QDB_Table
$_conn QDB_Adapter_Abstract 数据访问对象 QDB_Table
$_cache_id string 当前表数据入口对象元信息的缓存id QDB_Table
$_meta array 数据表的元数据 QDB_Table
$_fields array 数据表的字段名 QDB_Table

公共方法

隐藏继承的方法

方法描述定义于
__construct() 构造 Table 实例 QDB_Table
select() 发起一个查询,获得一个 QDB_Select 查询对象 QDB_Table
insert() 创建一条记录 QDB_Table
update() 更新记录 QDB_Table
delete() 删除符合条件的记录 QDB_Table
getFullTableName() 返回数据表的完整名称(含 schema 和前缀) QDB_Table
nextID() 为当前数据表的指定字段产生一个序列值 QDB_Table
columns() 返回所有字段的元数据 QDB_Table
getPK() 返回主键字段名 QDB_Table
setPK() 设置数据表的主键 QDB_Table
isCompositePK() 确认是否是复合主键 QDB_Table
getConn() 返回该表数据入口对象使用的数据访问对象 QDB_Table
setConn() 设置数据库访问对象 QDB_Table
init() 初始化表数据入口 QDB_Table

保护的方法

隐藏继承的方法

方法描述定义于
_setupConn() 设置表数据入口使用的数据库访问对象 QDB_Table
_setupTableName() 设置数据表名称 QDB_Table
_setupMeta() 设置当前数据表的元数据 QDB_Table
_setupPk() 设置数据表的主键 QDB_Table

属性详细说明

$schema 属性

数据表的 schema

$name 属性

数据表名称

$prefix 属性

数据表前缀

$_pk 属性

主键字段名,如果是多个字段,则以逗号分割,或使用数组

$_is_cpk 属性

指示是否使用了复合主键

$_pk_count 属性

指示主键字段的总数

$_conn 属性

数据访问对象

$_cache_id 属性

当前表数据入口对象元信息的缓存id

$_inited 属性

指示表数据入口是否已经初始化

$_meta 属性

数据表的元数据

元数据是一个二维数组,每个元素的键名就是全小写的字段名,而键值则是该字段的数据表定义。

$_fields 属性

数据表的字段名

方法详细说明

__construct() 方法

public Table __construct($config)

$config array
{return} Table

构造 Table 实例

$config 参数允许有下列选项:
- schema: 指定数据表的 schema
- name: 指定数据表的名称
- name_prefix: 指定数据表的完整名称
- pk: 指定主键字段名
- conn: 指定数据库访问对象
- dsn_name: 指定 DSN 名称


select() 方法

public QDB_Select select()

发起一个查询,获得一个 QDB_Select 查询对象


insert() 方法

public array|null insert($row, $return_pk_values)

$row array 要插入的记录
$return_pk_values boolean 是否返回新建记录的主键值
{return} array|null

创建一条记录


update() 方法

public void update($row, $where)

$row array|QDB_Expr 要更新的记录值
$where mixed 更新条件
{return}

更新记录

如果 $row 参数中包含所有主键字段的值,并且没有指定 $where 参数,则假定更新主键字段值相同的记录。

如果 $row 是一个 QDB_Expr 表达式,则根据表达式内容更新数据库。


delete() 方法

public void delete($where)

$where mixed
{return}

删除符合条件的记录


getFullTableName() 方法

public string getFullTableName()

返回数据表的完整名称(含 schema 和前缀)


nextID() 方法

public mixed nextID($field_name)

$field_name string
{return} mixed

为当前数据表的指定字段产生一个序列值


columns() 方法

public array columns()

返回所有字段的元数据


getPK() 方法

public array getPK()

返回主键字段名


setPK() 方法

public void setPK($pk)

$pk array|string
{return}

设置数据表的主键


isCompositePK() 方法

public boolean isCompositePK()

确认是否是复合主键


getConn() 方法

public QDB_Adapter_Abstract getConn()

返回该表数据入口对象使用的数据访问对象


setConn() 方法

public void setConn($conn)

$conn QDB_Adapter_Abstract
{return}

设置数据库访问对象


init() 方法

public void init()

初始化表数据入口


_setupConn() 方法

protected void _setupConn()

设置表数据入口使用的数据库访问对象

继承类可以覆盖此方法来自行控制如何设置数据库访问对象。


_setupTableName() 方法

protected void _setupTableName()

设置数据表名称

继承类可覆盖此方法来自行控制如何设置数据表名称。


_setupMeta() 方法

protected void _setupMeta()

设置当前数据表的元数据


_setupPk() 方法

protected void _setupPk()

设置数据表的主键

继承类可覆盖此方法来自行控制如何设置数据表主键。