开发人员可以使用全局函数table('表名') 获取一个通用表对象
表对象的常用操作:
query($sql) | 以SQL语句发起查询操作,将父类查询结果实例为SResult对象 |
queryHandle(SStatement $statement) | 返回查询语句句柄,不需要事先读取全部数据,最节省内存 |
queryFastHandle($sql) | 快速版查询,不记录日志,返回句柄 |
queryFast($sql) | 快速版查询,只记录操作日志,不记录结果日志 |
queryRaw($sql) | 原始查询,不构造Result对象 |
execute($sql) | 允许指定是否使用缓存,默认是使用缓存 |
executeFast($sql) | 快速版执行,不记录日志 |
exist($where = false) | 判断是否存在满足条件的记录 |
notExist($where = false) | 判断是否不存在满足条件的记录 |
select($field = null, $where = null, $order = null, $limit = null) | 查询,返回二维数组,将父类查询结果实例为SResult对象 如果只提供field,则本方法退化为fields方法 |
selectHandle($fields = null, $where = null, $orderBy = null, $limit = null) | 返回查询句柄 |
col($fields, $where = null, $orderby = null, $limit = null) | 获取一列数据 |
row($fields = null, $where = null, $orderBy = null) | 获取一行数据 |
get($fields, $where = null, $orderBy = null) | 获取一个值 |
getInt($fields = null, $where = null, $orderBy = null) | 获取一个整数 |
getId($where, $orderBy = null) | 获取满足条件的记录的ID值 |
getFloat($fields = null, $where = null, $orderBy = null) | 获取一个浮点数 |
count($where = null) | 统计满足条件的记录数 |
sum($field, $where = null) | 累加指定字段 |
increase($fields, $where, $diff = 1) | 对指定字段进行加一操作 |
decrease($fields, $where, $diff = 1) | 对指定字段进行减一操作 |
update($row, $where = null) | 修改表中的部分数据 |
replace($row) | 对应MYSQL的REPLACE语句,有则修改,无则插入 |
insert(array $row) | 单行插入 |
inserts(array $rows) | 多行插入 |
insertIgnore($row) | 无则插入,有则忽略 |
delete($where) | 删除表中的部分数据 |
deleteAll() | 删除表中全部数据 |
insertFast(array $row) | 快速 版插入(不记录日志,不记录调试) |
name() | 获取当前表的名称 |
alias() | 获取当前表的别名 |
sql($fields = null, $where = null, $orderBy = null, $limit = null) | 返回一条SQL语句 |
disableCache() | 临时禁止缓存,只禁止一次 |
锁操作:
lock($level = 'write') | 对表进行写锁定(或指定读锁) |
unlock() | 解除表锁 |
事务操作:
begin() | 事务开始,自动解除自动提交 |
commit() | 事务提交 |
rollback() | 事务回滚 |
注册钩子
hookBeforeInsert(callable $callback) | 插入前 |
hookAfterInsert(callable $callback) | 插入后 |
hookBeforeUpdate(callable $callback) | 修改前 |
hookAfterUpdate(callable $callback) | 修改后 |
hookBeforeDelete(callable $callback) | 删除前 |
hookAfterDelete(callable $callback) | 删除后 |
hookBeforeCrease(callable $callback) | 自增前 |
hookAfterCrease(callable $callback) | 自增后 |
hookBeforeExecute(callable $callback) | 执行前 |
hookAfterExecute(callable $callback) | 执行后 |
hookBeforeQuery(callable $callback) | SQL查询前 |
hookAfterQuery(callable $callback) | SQL查询后 |
hookBeforeSelect(callable $callback) | 查询前 |
hookAfterSelect(callable $callback) | 查询后 |
设置表查询/操作条件,支持链式操作
distinct() | 设置DISTINCT查询 |
fields($fields) | 设置查询字段 |
where($where) | 设置搜索条件 |
orderBy($orderBy) | 设置排序 |
groupBy($groupBy) | 设置分组 |
having($having) | 设置分组后过滤条件 |
limit($limit) | 设置分页参数 |
join($join,$on=null) | 设置关联表 |
on($relation) | 设置关联条件 |
go() | 在设置前置条件后,开始执行查询 |
以下是元操作
showTables() | 获取当前数据库中所有表名 |
databaseInfo() | 获取默认数据库的信息 |
tablesStatus() | 获取默认数据库的全部表的详细信息 |
getForeignKey($name = false) | 获取指定字段的外键信息(哪个表,哪个字段) |
escape($str) | 转义 |
markField($field) | 调用相应数据库的类,对字段名处理 |
createFields($fields) | 调用相应数据库的类,对字段列表处理 |
getPrimaryKey() | 获取表的主键(字段名) |
meta($name = '') | 获取表结构 |