SQLModel
in package
Tags
Table of Contents
- $dbConfig : array<string|int, mixed>
- 数据库配置
- $fieldsInfo : array<string|int, mixed>
- 表字段属性
- $groupByFields : string
- 默认分组
- $index : array<string|int, mixed>
- 自定义索引
- $joinTables : array<string|int, mixed>
- 连表数组
- $limit : string
- 默认条数
- $modelClass : IModelInfo
- 模型类
- $modelInfo : array<string|int, mixed>
- 模型信息
- $orderByFields : string
- 默认排序
- $pk : string
- 主键名
- $queryFields : string
- 查询字段
- $splitConfig : array<string|int, mixed>
- 分表配置
- $table : string
- 表名
- $useLock : bool
- 在事务中获取单条数据时是否加锁
- __construct() : mixed
- SQLModel constructor.
- add() : mixed
- 添加
- asIndex() : $this
- 将已赋值字段设为索引
- count() : mixed
- 获取记录条数
- db() : PDOSqlDriver
- 获取数据库链接
- dbs() : static
- 当前类实例
- del() : bool
- 删除
- fields() : SQLModel
- 设置查询字段, 多用于连表查询
- find() : mixed
- 按分页获取数据
- get() : mixed
- 获取单条数据
- getAll() : mixed
- 获取数据
- getArrayData() : array<string|int, mixed>
- 获取属性数据
- getCondition() : array<string|int, mixed>
- 获取查询条件
- getDefaultCondition() : mixed
- 获取默认条件
- getDefaultData() : array<string|int, mixed>
- 获取默认值
- getDefaultSequence() : string|array<string|int, mixed>
- 获取默认的sequence(oracle)
- getFields() : string
- 获取数据库表字段
- getModelClass() : IModelInfo
- 获取模型类
- getModelInfo() : mixed
- 获取模型信息
- getOriTableName() : string
- 获取数据中的表名
- getProperties() : array<string|int, mixed>
- 成员属性名称数组
- getPropertyInfo() : bool|mixed
- 获取字段属性
- getTable() : string
- 获取表名
- groupBy() : SQLModel
- 默认分组字段
- has() : bool
- 判断记录是否存在
- id() : array<string|int, mixed>|mixed
- 按主键查询
- join() : $this
- 连表查询
- latest() : mixed
- 最新
- limit() : SQLModel
- 默认条数
- orderBy() : SQLModel
- 设置默认排序字段
- property() : $this
- 查询数据, 并更新本类属性
- rawPrepare() : PDOStatement
- prepare
- rawSql() : PDOStatement
- 原生SQL
- rawWhere() : PDOSqlDriver
- 原生条件
- resetProperty() : void
- 重置属性
- select() : PDOSqlDriver
- 链式查询
- setTable() : void
- 自定义表名(包含前缀的完整名称)
- transaction() : bool
- 事务
- update() : bool
- 更新
- updateOrAdd() : bool
- 更新或添加
- updateProperty() : void
- 更新属性值
- useIndex() : void
- 指定索引
- useLock() : $this
- 仅在事务中调用get方法时生效
- verifyModelData() : bool
- 验证数据是否能映射到类实例
- autoJoin() : mixed
- 自动连表
- autoProcessData() : mixed
- 用户处理返回数据格式
- getModifiedData() : array<string|int, mixed>
- 获取修改过的数据
- getPDOInstance() : PDOSqlDriver
- 连接数据库
- makeInsertData() : array<string|int, mixed>
- 获取待插入数据
- processDataHandler() : mixed
- 处理数据
- splitMethod() : string
- 分表方法
Properties
$dbConfig
数据库配置
protected
array<string|int, mixed>
$dbConfig
= []
$fieldsInfo
表字段属性
protected
array<string|int, mixed>
$fieldsInfo
= []
$groupByFields
默认分组
protected
string
$groupByFields
$index
自定义索引
protected
array<string|int, mixed>
$index
= []
$joinTables
连表数组
protected
array<string|int, mixed>
$joinTables
= []
$limit
默认条数
protected
string
$limit
$modelClass
模型类
protected
IModelInfo
$modelClass
$modelInfo
模型信息
protected
array<string|int, mixed>
$modelInfo
= ['n' => null, 'type' => null, 'table' => null, 'sequence' => null]
n 连接名 type 连接类型 table 表名 sequence Oracle自增序列
$orderByFields
默认排序
protected
string
$orderByFields
$pk
主键名
protected
string
$pk
$queryFields
查询字段
protected
string
$queryFields
= '*'
$splitConfig
分表配置
protected
array<string|int, mixed>
$splitConfig
= ['number' => 32, 'method' => 'hash', 'field' => null, 'prefix' => null]
field 按配置字段分表 prefix 表前缀 method 分表方法(hash||mod) number 分表数量
$table
表名
protected
string
$table
$useLock
在事务中获取单条数据时是否加锁
protected
bool
$useLock
= false
Methods
__construct()
SQLModel constructor.
public
__construct(IModelInfo $modeClass) : mixed
Parameters
- $modeClass : IModelInfo
Tags
Return values
mixed —add()
添加
public
add([array<string|int, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
Tags
Return values
mixed —asIndex()
将已赋值字段设为索引
public
asIndex([bool $autoAlias = true ]) : $this
Parameters
- $autoAlias : bool = true
Return values
$this —count()
获取记录条数
public
count([mixed $where = null ]) : mixed
Parameters
- $where : mixed = null
Tags
Return values
mixed —db()
获取数据库链接
public
db() : PDOSqlDriver
Tags
Return values
PDOSqlDriver —dbs()
当前类实例
public
static dbs() : static
Tags
Return values
static —del()
删除
public
del([array<string|int, mixed>|string $condition = [] ]) : bool
Parameters
- $condition : array<string|int, mixed>|string = []
Tags
Return values
bool —fields()
设置查询字段, 多用于连表查询
public
fields(string $fields) : SQLModel
Parameters
- $fields : string
Return values
SQLModel —find()
按分页获取数据
public
find([array<string|int, mixed> &$page = ['p' => 1, 'limit' => 50] ][, mixed $where = null ][, string|null $fields = null ][, mixed $order = null ][, mixed $groupBy = null ]) : mixed
Parameters
- $page : array<string|int, mixed> = ['p' => 1, 'limit' => 50]
- $where : mixed = null
- $fields : string|null = null
- $order : mixed = null
- $groupBy : mixed = null
Tags
Return values
mixed —get()
获取单条数据
public
get([mixed $where = null ][, string|null $fields = null ]) : mixed
Parameters
- $where : mixed = null
- $fields : string|null = null
Tags
Return values
mixed —getAll()
获取数据
public
getAll([mixed $where = null ][, string|null $fields = null ][, mixed $order = null ][, mixed $groupBy = null ][, int|null $limit = null ]) : mixed
Parameters
- $where : mixed = null
- $fields : string|null = null
- $order : mixed = null
- $groupBy : mixed = null
- $limit : int|null = null
Tags
Return values
mixed —getArrayData()
获取属性数据
public
getArrayData([bool $hasValue = false ]) : array<string|int, mixed>
Parameters
- $hasValue : bool = false
Return values
array<string|int, mixed> —getCondition()
获取查询条件
public
getCondition([string $tableAlias = '' ]) : array<string|int, mixed>
Parameters
- $tableAlias : string = ''
-
表别名
Tags
Return values
array<string|int, mixed> —getDefaultCondition()
获取默认条件
public
getDefaultCondition([bool $strictModel = false ][, bool $autoAlias = true ]) : mixed
Parameters
- $strictModel : bool = false
-
严格模式下索引不能为空
- $autoAlias : bool = true
Tags
Return values
mixed —getDefaultData()
获取默认值
public
getDefaultData() : array<string|int, mixed>
Return values
array<string|int, mixed> —getDefaultSequence()
获取默认的sequence(oracle)
public
getDefaultSequence([bool $onlyName = false ]) : string|array<string|int, mixed>
Parameters
- $onlyName : bool = false
-
默认返回表达式
Return values
string|array<string|int, mixed> —getFields()
获取数据库表字段
public
getFields([string $alias = '' ][, bool $asPrefix = false ]) : string
Parameters
- $alias : string = ''
-
别名
- $asPrefix : bool = false
-
是否把别名加在字段名之前
Return values
string —getModelClass()
获取模型类
public
getModelClass() : IModelInfo
Return values
IModelInfo —getModelInfo()
获取模型信息
public
getModelInfo([string|null $key = null ]) : mixed
Parameters
- $key : string|null = null
Return values
mixed —getOriTableName()
获取数据中的表名
public
getOriTableName() : string
Tags
Return values
string —getProperties()
成员属性名称数组
public
getProperties() : array<string|int, mixed>
Return values
array<string|int, mixed> —getPropertyInfo()
获取字段属性
public
getPropertyInfo([string|null $property = null ]) : bool|mixed
Parameters
- $property : string|null = null
Return values
bool|mixed —getTable()
获取表名
public
getTable([bool $userJoinTable = true ]) : string
Parameters
- $userJoinTable : bool = true
-
更新,修改,删除时使用默认表名
Tags
Return values
string —groupBy()
默认分组字段
public
groupBy(mixed $groupBy) : SQLModel
Parameters
- $groupBy : mixed
Return values
SQLModel —has()
判断记录是否存在
public
has([mixed $where = null ]) : bool
Parameters
- $where : mixed = null
Tags
Return values
bool —id()
按主键查询
public
id(mixed $id) : array<string|int, mixed>|mixed
Parameters
- $id : mixed
Tags
Return values
array<string|int, mixed>|mixed —join()
连表查询
public
join(string $table, string $on[, string $type = 'left' ]) : $this
Parameters
- $table : string
-
表名
- $on : string
-
当前类表别名为a, 依次为b,c,d,e...
- $type : string = 'left'
-
默认左联
Return values
$this —latest()
最新
public
latest([mixed $where = null ][, string|null $fields = null ]) : mixed
Parameters
- $where : mixed = null
- $fields : string|null = null
Tags
Return values
mixed —limit()
默认条数
public
limit(mixed $limit) : SQLModel
Parameters
- $limit : mixed
Return values
SQLModel —orderBy()
设置默认排序字段
public
orderBy(mixed $orderBy) : SQLModel
Parameters
- $orderBy : mixed
Return values
SQLModel —property()
查询数据, 并更新本类属性
public
property([mixed $where = null ]) : $this
Parameters
- $where : mixed = null
Tags
Return values
$this —rawPrepare()
prepare
public
rawPrepare(string $sql[, array<string|int, mixed> $prepareParams = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY] ]) : PDOStatement
Parameters
- $sql : string
- $prepareParams : array<string|int, mixed> = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]
Tags
Return values
PDOStatement —rawSql()
原生SQL
public
rawSql(string $sql, mixed ...$params) : PDOStatement
Parameters
- $sql : string
- $params : mixed
Tags
Return values
PDOStatement —rawWhere()
原生条件
public
rawWhere(string $condition, mixed ...$params) : PDOSqlDriver
Parameters
- $condition : string
- $params : mixed
Tags
Return values
PDOSqlDriver —resetProperty()
重置属性
public
resetProperty() : void
Return values
void —select()
链式查询
public
select([string $fields = '*' ][, bool $autoTable = true ]) : PDOSqlDriver
Parameters
- $fields : string = '*'
- $autoTable : bool = true
Tags
Return values
PDOSqlDriver —setTable()
自定义表名(包含前缀的完整名称)
public
setTable(string $table) : void
Parameters
- $table : string
Return values
void —transaction()
事务
public
transaction(Closure $handle[, mixed &$result = null ]) : bool
Parameters
- $handle : Closure
- $result : mixed = null
Tags
Return values
bool —update()
更新
public
update([array<string|int, mixed>|string $condition = [] ][, array<string|int, mixed>|string $data = [] ]) : bool
Parameters
- $condition : array<string|int, mixed>|string = []
- $data : array<string|int, mixed>|string = []
Tags
Return values
bool —updateOrAdd()
更新或添加
public
updateOrAdd([mixed $condition = null ]) : bool
Parameters
- $condition : mixed = null
Tags
Return values
bool —updateProperty()
更新属性值
public
updateProperty(array<string|int, mixed> $data[, Closure|null $callback = null ]) : void
Parameters
- $data : array<string|int, mixed>
- $callback : Closure|null = null
Return values
void —useIndex()
指定索引
public
useIndex(string $indexName[, mixed $indexValue = null ]) : void
Parameters
- $indexName : string
- $indexValue : mixed = null
Tags
Return values
void —useLock()
仅在事务中调用get方法时生效
public
useLock() : $this
Return values
$this —verifyModelData()
验证数据是否能映射到类实例
public
verifyModelData(array<string|int, mixed> $data[, bool $updateProperty = false ]) : bool
Parameters
- $data : array<string|int, mixed>
- $updateProperty : bool = false
-
为true时更新类属性
Return values
bool —autoJoin()
自动连表
protected
autoJoin() : mixed
调用 $this->join() 添加表 调用 $this->fields() 设置返回字段 当调用 get, last, getAll, find等方法时自动连表
Return values
mixed —autoProcessData()
用户处理返回数据格式
protected
autoProcessData(array<string|int, mixed> &$data) : mixed
如处理图片CDN地址,JSON序列化等
Parameters
- $data : array<string|int, mixed>
Return values
mixed —getModifiedData()
获取修改过的数据
protected
getModifiedData() : array<string|int, mixed>
Return values
array<string|int, mixed> —getPDOInstance()
连接数据库
protected
getPDOInstance() : PDOSqlDriver
Tags
Return values
PDOSqlDriver —makeInsertData()
获取待插入数据
protected
makeInsertData() : array<string|int, mixed>
Return values
array<string|int, mixed> —processDataHandler()
处理数据
protected
processDataHandler(array<string|int, mixed> &$data[, bool $multi = false ]) : mixed
Parameters
- $data : array<string|int, mixed>
- $multi : bool = false
Return values
mixed —splitMethod()
分表方法
protected
splitMethod() : string