PHP Класс Cml\Db\Base

Наследование: implements Cml\Interfaces\Db
Показать файл Открыть проект

Открытые свойства

Свойство Тип Описание
$tablePrefix string 表前缀方便外部读取

Защищенные свойства (Protected)

Свойство Тип Описание
$bindParams array 执行sql时绑定的参数
$conf array 配置信息
$join array 是否内联 [表名 => 条件]
$leftJoin array 是否左联结 写法同内联
$openCache boolean 启用数据缓存
$paramsAutoReset boolean orm参数是否自动重置
$rightJoin array 是否右联 写法同内联
$sql array sql组装
$table array 操作的表
$union string UNION 写法同内联
$whereNeedAddAndOrOr integer where操作需要加上and/or 0 : 初始化两个都不加 1 : 要加and 2: 要加 or

Открытые методы

Метод Описание
__get ( string $db ) : resource | false 魔术方法 自动获取相应db实例
_and ( ) 增加 and条件操作符
_or ( ) 增加or条件操作符
chunk ( integer $num = 100, callable $func ) 组块结果集
columns ( string | array $columns = '*' ) 选择列
conditionFactory ( string $column, array | integer | string $value, string $operator = '=' ) where 语句组装工厂
getCacheVer ( string $table ) : mixed 根据表名获取cache版本号
getOne ( boolean $useMaster = false ) : array | boolean 获取一条数据
getOneValue ( string $column, boolean $useMaster = false ) : boolean | mixed 获取一列
getPk ( string $table, string $tablePrefix = null ) : string 获取表主键
groupBy ( string $column ) 分组
having ( string $column, string $operator = '=', string $value ) having语句
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
orderBy ( string $column, string $order = 'ASC' ) 排序
paginate ( integer $limit, boolean $useMaster = false ) : array 分页获取数据
paramsAutoReset ( boolean $autoReset = true ) orm参数是否自动重置, 默认在执行语句后会重置orm参数
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右联结
setCacheVer ( string $table ) 设置cache版本号
table ( string | array $table = '', mixed $tablePrefix = null ) 定义操作的表
union ( string | array $sql, boolean $all = false ) union联结
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

Защищенные методы

Метод Описание
arrToCondition ( $arr, string $tableName ) : string SQL语句条件组装
arrToCondition ( array $arr ) : string SQL语句条件组装
clearBindParams ( ) 清空绑定的参数
filterLike ( string $val ) : string where 用户输入过滤
filterUnionSql ( $sql )
parseKey ( string $key, boolean $and = true, boolean $noCondition = false, boolean $noTable = false ) : array SQL语句条件组装
parseOn ( string &$table, array $on ) : string 解析联结的on参数
reset ( ) orm参数重置

Описание методов

__get() публичный Метод

魔术方法 自动获取相应db实例
public __get ( string $db ) : resource | false
$db string 要连接的数据库类型
Результат resource | false 数据库 连接标识

_and() публичный Метод

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

_or() публичный Метод

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

arrToCondition() защищенный Метод

SQL语句条件组装
protected arrToCondition ( $arr, string $tableName ) : string
$tableName string 当前操作的数据表名
Результат string

arrToCondition() защищенный Метод

SQL语句条件组装
protected arrToCondition ( array $arr ) : string
$arr array 要组装的数组
Результат string

chunk() публичный Метод

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

clearBindParams() защищенный Метод

清空绑定的参数
protected clearBindParams ( )

columns() публичный Метод

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

conditionFactory() публичный Метод

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 操作符

filterLike() защищенный Метод

where 用户输入过滤
protected filterLike ( string $val ) : string
$val string
Результат string

filterUnionSql() защищенный Метод

protected filterUnionSql ( $sql )

getCacheVer() публичный Метод

根据表名获取cache版本号
public getCacheVer ( string $table ) : mixed
$table string
Результат mixed

getOne() публичный Метод

获取一条数据
public getOne ( boolean $useMaster = false ) : array | boolean
$useMaster boolean 是否使用主库 默认读取从库
Результат array | boolean | bool

getOneValue() публичный Метод

获取一列
public getOneValue ( string $column, boolean $useMaster = false ) : boolean | mixed
$column string 列名
$useMaster boolean 是否使用主库 默认读取从库
Результат boolean | mixed

getPk() публичный Метод

获取表主键
public getPk ( string $table, string $tablePrefix = null ) : string
$table string 要获取主键的表名
$tablePrefix string 表前缀
Результат string || false

groupBy() публичный Метод

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

having() публичный Метод

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

join() публичный Метод

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

lBrackets() публичный Метод

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

leftJoin() публичный Метод

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

limit() публичный Метод

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

orderBy() публичный Метод

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

paginate() публичный Метод

分页获取数据
public paginate ( integer $limit, boolean $useMaster = false ) : array
$limit integer 每页返回的条数
$useMaster boolean 是否使用主库 默认读取从库
Результат array

paramsAutoReset() публичный Метод

orm参数是否自动重置, 默认在执行语句后会重置orm参数
public paramsAutoReset ( boolean $autoReset = true )
$autoReset boolean 是否自动重置

parseKey() защищенный Метод

SQL语句条件组装
protected parseKey ( string $key, boolean $and = true, boolean $noCondition = false, boolean $noTable = false ) : array
$key string eg: 'forum-fid-1-uid-2'
$and boolean 多个条件之间是否为and true为and false为or
$noCondition boolean 是否为无条件操作 set/delete/update操作的时候 condition为空是正常的不报异常
$noTable boolean 是否可以没有数据表 当delete/update等操作的时候已经执行了table() table为空是正常的
Результат array eg: ['forum', "`fid` = '1' AND `uid` = '2'"]

parseOn() защищенный Метод

解析联结的on参数
protected parseOn ( string &$table, array $on ) : string
$table string 要联结的表名
$on array ['on条件1', 'on条件2' => true] on条件为数字索引时多条件默认为and为非数字引时 条件=>true为and 条件=>false为or
Результат string

plunk() публичный Метод

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

rBrackets() публичный Метод

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

reset() защищенный Метод

orm参数重置
protected reset ( )

rightJoin() публичный Метод

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

setCacheVer() публичный Метод

设置cache版本号
public setCacheVer ( string $table )
$table string

table() публичный Метод

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

union() публичный Метод

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

where() публичный Метод

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() публичный Метод

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() публичный Метод

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

whereGte() публичный Метод

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

whereIn() публичный Метод

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

whereLike() публичный Метод

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() публичный Метод

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

whereLte() публичный Метод

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

whereNot() публичный Метод

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

whereNotBetween() публичный Метод

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() публичный Метод

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() публичный Метод

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() публичный Метод

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

whereNull() публичный Метод

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

whereRegExp() публичный Метод

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

Описание свойств

$bindParams защищенное свойство

执行sql时绑定的参数
protected array $bindParams
Результат array

$conf защищенное свойство

配置信息
protected array $conf
Результат array

$join защищенное свойство

是否内联 [表名 => 条件]
protected array $join
Результат array

$leftJoin защищенное свойство

是否左联结 写法同内联
protected array $leftJoin
Результат array

$openCache защищенное свойство

启用数据缓存
protected bool $openCache
Результат boolean

$paramsAutoReset защищенное свойство

orm参数是否自动重置
protected bool $paramsAutoReset
Результат boolean

$rightJoin защищенное свойство

是否右联 写法同内联
protected array $rightJoin
Результат array

$sql защищенное свойство

sql组装
protected array $sql
Результат array

$table защищенное свойство

操作的表
protected array $table
Результат array

$tablePrefix публичное свойство

表前缀方便外部读取
public string $tablePrefix
Результат string

$union защищенное свойство

UNION 写法同内联
protected string $union
Результат string

$whereNeedAddAndOrOr защищенное свойство

where操作需要加上and/or 0 : 初始化两个都不加 1 : 要加and 2: 要加 or
protected int $whereNeedAddAndOrOr
Результат integer