class Base implements Db

Orm 数据库抽象基类

Properties

string $tablePrefix 表前缀方便外部读取

Methods

$this
table( string|array $table = '', mixed $tablePrefix = null)

定义操作的表

resource|false
__get( string $db)

魔术方法 自动获取相应db实例

array
paginate( int $limit, bool $useMaster = false, null|int $page = null)

分页获取数据

string
getPk( string $table, string $tablePrefix = null)

获取表主键

array
getOne( bool $useMaster = false)

获取一条数据

bool|mixed
getOneValue( string $column, bool $useMaster = false)

获取一列

array
plunk( string $column, null $key = null, int $limit = null, bool $useMaster = false)

获取数据列值列表

chunk( int $num = 100, callable $func)

组块结果集-此方法前调用paramsAutoReset无效

$this
where( string|array $column, string $value = '')

where条件组装 相等

$this
whereColumn( string $column, string $column2)

here条件组装 两个列相等

$this
whereNot( string $column, string $value)

where条件组装 不等

$this
whereGt( string $column, string $value)

where条件组装 大于

$this
whereLt( string $column, string $value)

where条件组装 小于

$this
whereGte( string $column, string $value)

where条件组装 大于等于

$this
whereLte( string $column, string $value)

where条件组装 小于等于

$this
whereIn( string $column, array $value)

where条件组装 in

$this
whereNotIn( string $column, array $value)

where条件组装 not in

$this
whereRegExp( string $column, string $value)

where条件组装 REGEXP

$this
whereLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装 LIKE

$this
whereNotLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装 LIKE

$this
whereBetween( string $column, string $value, string $value2 = null)

where条件组装 BETWEEN

$this
whereNotBetween( string $column, string $value, string $value2 = null)

where条件组装 NOT BETWEEN

$this
whereNull( string $column)

where条件组装 IS NULL

$this
whereNotNull( string $column)

where条件组装 IS NOT NULL

conditionFactory( string $column, array|int|string $value, string $operator = '=')

where 语句组装工厂

$this
_and( callable $callable = null)

增加 and条件操作符

$this
_or( callable $callable = null)

增加or条件操作符

$this
lBrackets()

where条件增加左括号

$this
rBrackets()

where条件增加右括号

$this
columns( string|array $columns = '*')

选择列

$this
limit( int $offset, int $limit = 10)

LIMIT

$this
orderBy( string $column, string $order = 'ASC')

排序

$this
groupBy( string $column)

分组

$this
having( string $column, string $operator = '=', string $value)

having语句

$this
join( string|array $table, string $on, mixed $tablePrefix = null)

join内联结

$this
leftJoin( string|array $table, string $on, mixed $tablePrefix = null)

leftJoin左联结

$this
rightJoin( string|array $table, string $on, mixed $tablePrefix = null)

rightJoin右联结

$this
union( string|array $sql, bool $all = false)

union联结

$this
paramsAutoReset( bool $autoReset = true, bool $alwaysClearTable = false, bool $alwaysClearColumns = true)

orm参数是否自动重置, 默认在执行语句后会重置orm参数,包含查询的表、字段信息、条件等信息

$this
resetAndClear()

重置所有orm参数及绑定

mixed
getCacheVer( string $table)

根据表名获取cache版本号

$this
noCache()

标记本次查询不使用缓存

setCacheVer( string $table)

设置cache版本号

transaction( callable $query)

执行

__destruct()

析构函数

Details

at line line 149
$this table( string|array $table = '', mixed $tablePrefix = null)

定义操作的表

Parameters

string|array $table 表名 要取别名时使用 [不带前缀表名 => 别名]
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

$this

at line line 166
resource|false __get( string $db)

魔术方法 自动获取相应db实例

Parameters

string $db 要连接的数据库类型

Return Value

resource|false 数据库 连接标识

at line line 214
array paginate( int $limit, bool $useMaster = false, null|int $page = null)

分页获取数据

Parameters

int $limit 每页返回的条数
bool $useMaster 是否使用主库 默认读取从库
null|int $page 当前页数-不传则获取配置中var_page配置的request值

Return Value

array

at line line 229
string getPk( string $table, string $tablePrefix = null)

获取表主键

Parameters

string $table 要获取主键的表名
string $tablePrefix 表前缀

Return Value

string || false

at line line 248
array getOne( bool $useMaster = false)

获取一条数据

Parameters

bool $useMaster 是否使用主库 默认读取从库

Return Value

array | bool

at line line 266
bool|mixed getOneValue( string $column, bool $useMaster = false)

获取一列

Parameters

string $column 列名
bool $useMaster 是否使用主库 默认读取从库

Return Value

bool|mixed

at line line 283
array plunk( string $column, null $key = null, int $limit = null, bool $useMaster = false)

获取数据列值列表

Parameters

string $column 列名
null $key 返回数组中为列值指定自定义键(该自定义键必须是该表的其它字段列名)
int $limit 返回的条数
bool $useMaster 是否使用主库 默认读取从库

Return Value

array

at line line 300
chunk( int $num = 100, callable $func)

组块结果集-此方法前调用paramsAutoReset无效

Parameters

int $num 每次获取的条数
callable $func 结果集处理函数

at line line 337
$this where( string|array $column, string $value = '')

where条件组装 相等

Parameters

string|array $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名) 当$column为数组时 批量设置
string $value |int $value 当$column为数组时 此时$value为false时条件为or 否则为and

Return Value

$this

at line line 358
$this whereColumn( string $column, string $column2)

here条件组装 两个列相等

Parameters

string $column eg:username | user.username
string $column2 eg: nickname | user.nickname

Return Value

$this

at line line 372
$this whereNot( string $column, string $value)

where条件组装 不等

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 386
$this whereGt( string $column, string $value)

where条件组装 大于

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 400
$this whereLt( string $column, string $value)

where条件组装 小于

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 414
$this whereGte( string $column, string $value)

where条件组装 大于等于

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 428
$this whereLte( string $column, string $value)

where条件组装 小于等于

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 442
$this whereIn( string $column, array $value)

where条件组装 in

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
array $value

Return Value

$this

at line line 456
$this whereNotIn( string $column, array $value)

where条件组装 not in

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
array $value [1,2,3]

Return Value

$this

at line line 470
$this whereRegExp( string $column, string $value)

where条件组装 REGEXP

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int $value

Return Value

$this

at line line 486
$this whereLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装 LIKE

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
bool $leftBlur 是否开始左模糊匹配
string $value |int $value
bool $rightBlur 是否开始右模糊匹配

Return Value

$this

at line line 506
$this whereNotLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装 LIKE

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
bool $leftBlur 是否开始左模糊匹配
string $value |int $value
bool $rightBlur 是否开始右模糊匹配

Return Value

$this

at line line 537
$this whereBetween( string $column, string $value, string $value2 = null)

where条件组装 BETWEEN

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int | array $value
string $value2 |int | null $value2

Return Value

$this

at line line 560
$this whereNotBetween( string $column, string $value, string $value2 = null)

where条件组装 NOT BETWEEN

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
string $value |int | array $value
string $value2 |int | null $value2

Return Value

$this

at line line 581
$this whereNull( string $column)

where条件组装 IS NULL

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)

Return Value

$this

at line line 594
$this whereNotNull( string $column)

where条件组装 IS NOT NULL

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)

Return Value

$this

at line line 607
conditionFactory( string $column, array|int|string $value, string $operator = '=')

where 语句组装工厂

Parameters

string $column 如 id user.id (这边的user为表别名如表pre_user as user 这边用user而非带前缀的原表名)
array|int|string $value
string $operator 操作符

at line line 653
$this _and( callable $callable = null)

增加 and条件操作符

Parameters

callable $callable 如果传入函数则函数内执行的条件会被()包围

Return Value

$this

at line line 675
$this _or( callable $callable = null)

增加or条件操作符

Parameters

callable $callable 如果传入函数则函数内执行的条件会被()包围

Return Value

$this

at line line 695
$this lBrackets()

where条件增加左括号

Return Value

$this

at line line 717
$this rBrackets()

where条件增加右括号

Return Value

$this

at line line 731
$this columns( string|array $columns = '*')

选择列

Parameters

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

Return Value

$this

at line line 754
$this limit( int $offset, int $limit = 10)

LIMIT

Parameters

int $offset 偏移量
int $limit 返回的条数

Return Value

$this

at line line 772
$this orderBy( string $column, string $order = 'ASC')

排序

Parameters

string $column 要排序的字段
string $order 方向,默认为正序

Return Value

$this

at line line 789
$this groupBy( string $column)

分组

Parameters

string $column 要设置分组的字段名

Return Value

$this

at line line 808
$this having( string $column, string $operator = '=', string $value)

having语句

Parameters

string $column 字段名
string $operator 操作符
string $value

Return Value

$this

at line line 825
$this join( string|array $table, string $on, mixed $tablePrefix = null)

join内联结

Parameters

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

Return Value

$this

at line line 846
$this leftJoin( string|array $table, string $on, mixed $tablePrefix = null)

leftJoin左联结

Parameters

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

Return Value

$this

at line line 867
$this rightJoin( string|array $table, string $on, mixed $tablePrefix = null)

rightJoin右联结

Parameters

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

Return Value

$this

at line line 887
$this union( string|array $sql, bool $all = false)

union联结

Parameters

string|array $sql 要union的sql
bool $all 是否为union all

Return Value

$this

at line line 945
$this paramsAutoReset( bool $autoReset = true, bool $alwaysClearTable = false, bool $alwaysClearColumns = true)

orm参数是否自动重置, 默认在执行语句后会重置orm参数,包含查询的表、字段信息、条件等信息

Parameters

bool $autoReset 是否自动重置 查询的表、字段信息、条件等信息
bool $alwaysClearTable 用来控制在$paramsAutoReset = false 的时候是否清除查询的table信息.避免快捷方法重复调用table();
bool $alwaysClearColumns 用来控制在$paramsAutoReset = false 的时候是否清除查询的字段信息.主要用于按批获取数据不用多次调用columns();

Return Value

$this

at line line 1002
$this resetAndClear()

重置所有orm参数及绑定

Return Value

$this

at line line 1096
mixed getCacheVer( string $table)

根据表名获取cache版本号

Parameters

string $table

Return Value

mixed

at line line 1115
$this noCache()

标记本次查询不使用缓存

Return Value

$this

at line line 1126
setCacheVer( string $table)

设置cache版本号

Parameters

string $table

at line line 1148
transaction( callable $query)

执行

Parameters

callable $query

at line line 1159
__destruct()

析构函数