PHP Interface Cml\Interfaces\Db

Show file Open project: linhecheng/cmlphp

Public Methods

Method Description
__construct ( $conf )
__destruct ( ) 析构函数
_and ( ) 增加 and条件操作符
_or ( ) 增加or条件操作符
affectedRows ( resource $handle, integer $type ) : integer 返回INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
avg ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed 获取 AVG(字段名或*) 的结果
buildSql ( null $offset = null, null $limit = null, boolean $isSelect = false ) : string | array 构建sql
callProcedure ( string $procedureName = '', array $bindParams = [], boolean | true $isSelect = true ) : array | integer 调用存储过程 如 : callProcedure('user_check ?,? ', [1, 1], true) pdo
chunk ( integer $num = 100, callable $func ) 组块结果集
columns ( string | array $columns = '*' ) 选择列
commit ( ) : boolean 提交事务
conditionFactory ( string $column, array | integer | string $value, string $operator = '=' ) where 语句组装工厂
connect ( string $host, string $username, string $password, string $dbName, string $charset = 'utf8', string $engine = '', boolean $pConnect = false ) : mixed Db连接
count ( string $field = '*', boolean $isMulti = false, boolean | string $useMaster = false ) : mixed 获取 COUNT(字段名或*) 的结果
decrement ( string $key, integer $val = 1, string $field = null, mixed $tablePrefix = null ) : boolean 指定字段的值-1
delete ( string $key = '', boolean $and = true, mixed $tablePrefix = null ) : boolean 根据key值删除数据
get ( string $key, boolean $and = true, boolean | string $useMaster = false, null | string $tablePrefix = null ) 根据key取出数据
getAllTableStatus ( ) : array 获取当前数据库中所有表的信息
getDbFields ( string $table, mixed $tablePrefix = null, integer $filter ) : mixed 获取表字段
getOne ( boolean $useMaster = false ) : array | boolean 获取一条数据
getOneValue ( string $column, boolean $useMaster = false ) : boolean | mixed 获取一列
getPk ( string $table, string $tablePrefix = null ) : string 获取表主键
getTables ( ) : array 获取当前db所有表名
groupBy ( string $column ) 分组
having ( string $column, string $operator = '=', string $value ) having语句
increment ( string $key, integer $val = 1, string $field = null, mixed $tablePrefix = null ) : boolean 指定字段的值+1
insertId ( resource $link = null ) : integer 获取上一INSERT的主键值
join ( string | array $table, string $on, mixed $tablePrefix = null ) join内联结
lBrackets ( ) where条件增加左括号
leftJoin ( string | array $table, string $on, mixed $tablePrefix = null ) leftJoin左联结
limit ( integer $offset, integer $limit = 10 ) LIMIT
max ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed 获取 MAX(字段名或*) 的结果
min ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed 获取 MIN(字段名或*) 的结果
orderBy ( string $column, string $order = 'ASC' ) 排序
paginate ( integer $limit, boolean $useMaster = false ) : array 分页获取数据
plunk ( string $column, null $key = null, integer $limit = null, boolean $useMaster = false ) : array 获取数据列值列表
rBrackets ( ) where条件增加右括号
rightJoin ( string | array $table, string $on, mixed $tablePrefix = null ) rightJoin右联结
rollBack ( boolean $rollBackTo = false ) : boolean 回滚事务
savePoint ( string $pointName ) : boolean 设置一个事务保存点
select ( integer $offset = null, integer $limit = null, boolean $useMaster = false ) : array 获取多条数据
set ( string $table, array $data, mixed $tablePrefix = null ) : boolean | integer 根据key 新增 一条数据
startTransAction ( ) : boolean 开启事务
sum ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed 获取 SUM(字段名或*) 的结果
table ( string | array $table = '', mixed $tablePrefix = null ) 定义操作的表
truncate ( string $tableName ) : boolean 根据表名删除数据
union ( string | array $sql, boolean $all = false ) union联结
update ( string $key, array | null $data = null, boolean $and = true, mixed $tablePrefix = null ) : boolean 根据key更新一条数据
version ( resource $link = null ) : string 获取数据库 版本
where ( string | array $column, string | integer $value = '' ) where条件组装 相等
whereBetween ( string $column, string | integer | array $value, string | integer | null $value2 = null ) where条件组装 BETWEEN
whereGt ( string $column, string | integer $value ) where条件组装 大于
whereGte ( string $column, string | integer $value ) where条件组装 大于等于
whereIn ( string $column, array $value ) where条件组装 in
whereLike ( string $column, boolean $leftBlur = false, string | integer $value, boolean $rightBlur = false ) where条件组装 LIKE
whereLt ( string $column, string | integer $value ) where条件组装 小于
whereLte ( string $column, string | integer $value ) where条件组装 小于等于
whereNot ( string $column, string | integer $value ) where条件组装 不等
whereNotBetween ( string $column, string | integer | array $value, string | integer | null $value2 = null ) where条件组装 NOT BETWEEN
whereNotIn ( string $column, array $value ) where条件组装 not in
whereNotLike ( string $column, boolean $leftBlur = false, string | integer $value, boolean $rightBlur = false ) where条件组装 LIKE
whereNotNull ( string $column ) where条件组装 IS NOT NULL
whereNull ( string $column ) where条件组装 IS NULL
whereRegExp ( string $column, string | integer $value ) where条件组装 REGEXP

Method Details

__construct() public method

public __construct ( $conf )

__destruct() public method

析构函数
public __destruct ( )

_and() public method

增加 and条件操作符
public _and ( )

_or() public method

增加or条件操作符
public _or ( )

affectedRows() public method

返回INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
public affectedRows ( resource $handle, integer $type ) : integer
$handle resource mysql link
$type integer 执行的类型1:insert、2:update、3:delete
return integer

avg() public method

获取 AVG(字段名或*) 的结果
public avg ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean | string 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed

buildSql() public method

构建sql
public buildSql ( null $offset = null, null $limit = null, boolean $isSelect = false ) : string | array
$offset null 偏移量
$limit null 返回的条数
$isSelect boolean 是否为select调用, 是则不重置查询参数并返回cacheKey/否则直接返回sql并重置查询参数
return string | array

callProcedure() public method

调用存储过程 如 : callProcedure('user_check ?,? ', [1, 1], true) pdo
public callProcedure ( string $procedureName = '', array $bindParams = [], boolean | true $isSelect = true ) : array | integer
$procedureName string 要调用的存储过程名称
$bindParams array 绑定的参数
$isSelect boolean | true 是否为返回数据集的语句
return array | integer

chunk() public method

组块结果集
public chunk ( integer $num = 100, callable $func )
$num integer 每次获取的条数
$func callable 结果集处理函数

columns() public method

选择列
public columns ( string | array $columns = '*' )
$columns string | array 默认选取所有 ['id, 'name'] 选取id,name两列,['article.id' => 'aid', 'article.title' => 'article_title'] 别名

commit() public method

提交事务
public commit ( ) : boolean
return boolean

conditionFactory() public method

where 语句组装工厂
public conditionFactory ( string $column, array | integer | string $value, string $operator = '=' )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value array | integer | string
$operator string 操作符

connect() public method

Db连接
public connect ( string $host, string $username, string $password, string $dbName, string $charset = 'utf8', string $engine = '', boolean $pConnect = false ) : mixed
$host string 数据库host
$username string 数据库用户名
$password string 数据库密码
$dbName string 数据库名
$charset string 字符集
$engine string 引擎
$pConnect boolean 是否为长连接
return mixed

count() public method

获取 COUNT(字段名或*) 的结果
public count ( string $field = '*', boolean $isMulti = false, boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean 结果集是否为多条 默认只有一条
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed

decrement() public method

指定字段的值-1
public decrement ( string $key, integer $val = 1, string $field = null, mixed $tablePrefix = null ) : boolean
$key string 操作的key user-id-1
$val integer
$field string 要改变的字段
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀
return boolean

delete() public method

根据key值删除数据
public delete ( string $key = '', boolean $and = true, mixed $tablePrefix = null ) : boolean
$key string eg: 'user-uid-$uid'
$and boolean 多个条件之间是否为and true为and false为or
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀
return boolean

get() public method

根据key取出数据
public get ( string $key, boolean $and = true, boolean | string $useMaster = false, null | string $tablePrefix = null )
$key string get('user-uid-123');
$and boolean 多个条件之间是否为and true为and false为or
$useMaster boolean | string 是否使用主库 默认读取从库 此选项为字符串时为表前缀$tablePrefix
$tablePrefix null | string 表前缀

getAllTableStatus() public method

获取当前数据库中所有表的信息
public getAllTableStatus ( ) : array
return array

getDbFields() public method

获取表字段
public getDbFields ( string $table, mixed $tablePrefix = null, integer $filter ) : mixed
$table string 表名
$tablePrefix mixed 表前缀 为null时代表table已经带了前缀
$filter integer 0 获取表字段详细信息数组 1获取字段以,号相隔组成的字符串
return mixed

getOne() public method

获取一条数据
public getOne ( boolean $useMaster = false ) : array | boolean
$useMaster boolean 是否使用主库 默认读取从库
return array | boolean | bool

getOneValue() public method

获取一列
public getOneValue ( string $column, boolean $useMaster = false ) : boolean | mixed
$column string 列名
$useMaster boolean 是否使用主库 默认读取从库
return boolean | mixed

getPk() public method

获取表主键
public getPk ( string $table, string $tablePrefix = null ) : string
$table string 要获取主键的表名
$tablePrefix string 表前缀
return string || false

getTables() public method

获取当前db所有表名
public getTables ( ) : array
return array

groupBy() public method

分组
public groupBy ( string $column )
$column string 要设置分组的字段名

having() public method

having语句
public having ( string $column, string $operator = '=', string $value )
$column string 字段名
$operator string 操作符
$value string

increment() public method

指定字段的值+1
public increment ( string $key, integer $val = 1, string $field = null, mixed $tablePrefix = null ) : boolean
$key string 操作的key eg: user-id-1
$val integer
$field string 要改变的字段
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀
return boolean

insertId() public method

获取上一INSERT的主键值
public insertId ( resource $link = null ) : integer
$link resource
return integer

join() public method

join内联结
public join ( string | array $table, string $on, mixed $tablePrefix = null )
$table string | array 表名 要取别名时使用 [不带前缀表名 => 别名]
$on string 联结的条件 如:'c.cid = a.cid'
$tablePrefix mixed 表前缀

lBrackets() public method

where条件增加左括号
public lBrackets ( )

leftJoin() public method

leftJoin左联结
public leftJoin ( string | array $table, string $on, mixed $tablePrefix = null )
$table string | array 表名 要取别名时使用 [不带前缀表名 => 别名]
$on string 联结的条件 如:'c.cid = a.cid'
$tablePrefix mixed 表前缀

limit() public method

LIMIT
public limit ( integer $offset, integer $limit = 10 )
$offset integer 偏移量
$limit integer 返回的条数

max() public method

获取 MAX(字段名或*) 的结果
public max ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean | string 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed

min() public method

获取 MIN(字段名或*) 的结果
public min ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean | string 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed

orderBy() public method

排序
public orderBy ( string $column, string $order = 'ASC' )
$column string 要排序的字段
$order string 方向,默认为正序

paginate() public method

分页获取数据
public paginate ( integer $limit, boolean $useMaster = false ) : array
$limit integer 每页返回的条数
$useMaster boolean 是否使用主库 默认读取从库
return array

plunk() public method

获取数据列值列表
public plunk ( string $column, null $key = null, integer $limit = null, boolean $useMaster = false ) : array
$column string 列名
$key null 返回数组中为列值指定自定义键(该自定义键必须是该表的其它字段列名)
$limit integer 返回的条数
$useMaster boolean 是否使用主库 默认读取从库
return array

rBrackets() public method

where条件增加右括号
public rBrackets ( )

rightJoin() public method

rightJoin右联结
public rightJoin ( string | array $table, string $on, mixed $tablePrefix = null )
$table string | array 表名 要取别名时使用 [不带前缀表名 => 别名]
$on string 联结的条件 如:'c.cid = a.cid'
$tablePrefix mixed 表前缀

rollBack() public method

回滚事务
public rollBack ( boolean $rollBackTo = false ) : boolean
$rollBackTo boolean 是否为还原到某个保存点
return boolean

savePoint() public method

设置一个事务保存点
public savePoint ( string $pointName ) : boolean
$pointName string 保存点名称
return boolean

select() public method

获取多条数据
public select ( integer $offset = null, integer $limit = null, boolean $useMaster = false ) : array
$offset integer 偏移量
$limit integer 返回的条数
$useMaster boolean 是否使用主库 默认读取从库
return array

set() public method

根据key 新增 一条数据
public set ( string $table, array $data, mixed $tablePrefix = null ) : boolean | integer
$table string
$data array eg: ['username'=>'admin', 'email'=>'[email protected]']
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀
return boolean | integer

startTransAction() public method

开启事务
public startTransAction ( ) : boolean
return boolean

sum() public method

获取 SUM(字段名或*) 的结果
public sum ( string $field = '*', boolean | string $isMulti = false, boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean | string 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed

table() public method

定义操作的表
public table ( string | array $table = '', mixed $tablePrefix = null )
$table string | array 表名 要取别名时使用 [不带前缀表名 => 别名]
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀

truncate() public method

根据表名删除数据
public truncate ( string $tableName ) : boolean
$tableName string 要清空的表名
return boolean

union() public method

union联结
public union ( string | array $sql, boolean $all = false )
$sql string | array 要union的sql
$all boolean 是否为union all

update() public method

根据key更新一条数据
public update ( string $key, array | null $data = null, boolean $and = true, mixed $tablePrefix = null ) : boolean
$key string eg 'user-uid-$uid' 如果条件是通用whereXX()、表名是通过table()设定。这边可以直接传$data的数组
$data array | null
$and boolean 多个条件之间是否为and true为and false为or
$tablePrefix mixed 表前缀 不传则获取配置中配置的前缀
return boolean

version() public method

获取数据库 版本
public version ( resource $link = null ) : string
$link resource
return string

where() public method

where条件组装 相等
public where ( string | array $column, string | integer $value = '' )
$column string | array 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名) 当$column为数组时 批量设置
$value string | integer

whereBetween() public method

where条件组装 BETWEEN
public whereBetween ( string $column, string | integer | array $value, string | integer | null $value2 = null )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer | array
$value2 string | integer | null

whereGt() public method

where条件组装 大于
public whereGt ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer

whereGte() public method

where条件组装 大于等于
public whereGte ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer

whereIn() public method

where条件组装 in
public whereIn ( string $column, array $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value array

whereLike() public method

where条件组装 LIKE
public whereLike ( string $column, boolean $leftBlur = false, string | integer $value, boolean $rightBlur = false )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$leftBlur boolean 是否开始左模糊匹配
$value string | integer
$rightBlur boolean 是否开始右模糊匹配

whereLt() public method

where条件组装 小于
public whereLt ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer

whereLte() public method

where条件组装 小于等于
public whereLte ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer

whereNot() public method

where条件组装 不等
public whereNot ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer

whereNotBetween() public method

where条件组装 NOT BETWEEN
public whereNotBetween ( string $column, string | integer | array $value, string | integer | null $value2 = null )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer | array
$value2 string | integer | null

whereNotIn() public method

where条件组装 not in
public whereNotIn ( string $column, array $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value array [1,2,3]

whereNotLike() public method

where条件组装 LIKE
public whereNotLike ( string $column, boolean $leftBlur = false, string | integer $value, boolean $rightBlur = false )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$leftBlur boolean 是否开始左模糊匹配
$value string | integer
$rightBlur boolean 是否开始右模糊匹配

whereNotNull() public method

where条件组装 IS NOT NULL
public whereNotNull ( string $column )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)

whereNull() public method

where条件组装 IS NULL
public whereNull ( string $column )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)

whereRegExp() public method

where条件组装 REGEXP
public whereRegExp ( string $column, string | integer $value )
$column string 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
$value string | integer