\think\dbBaseQuery

数据查询基础类

Summary

Methods
Properties
Constants
timeRule()
whereTime()
whereTimeInterval()
whereMonth()
whereWeek()
whereYear()
whereDay()
whereBetweenTime()
whereNotBetweenTime()
whereBetweenTimeField()
whereNotBetweenTimeField()
count()
sum()
min()
max()
avg()
model()
getModel()
hidden()
visible()
append()
scope()
relation()
withSearch()
withAttr()
with()
withJoin()
withCache()
withCount()
withSum()
withMax()
withMin()
withAvg()
has()
hasWhere()
allowEmpty()
failException()
findOrEmpty()
selectOrFail()
findOrFail()
transactionXa()
transaction()
startTrans()
commit()
rollback()
where()
whereOr()
whereXor()
whereNull()
whereNotNull()
whereExists()
whereNotExists()
whereIn()
whereNotIn()
whereLike()
whereNotLike()
whereBetween()
whereNotBetween()
whereFindInSet()
whereColumn()
useSoftDelete()
whereExp()
whereFieldRaw()
whereRaw()
whereOrRaw()
removeWhereField()
when()
__construct()
__call()
newQuery()
getConnection()
name()
getName()
getConfig()
getTable()
setFieldType()
getLastSql()
getNumRows()
getLastInsID()
value()
column()
union()
unionAll()
field()
withoutField()
tableField()
data()
removeOption()
limit()
page()
table()
order()
paginate()
paginateX()
more()
cache()
lock()
alias()
master()
strict()
sequence()
json()
pk()
getOptions()
setOption()
via()
save()
insert()
insertGetId()
insertAll()
selectInsert()
update()
delete()
select()
find()
parseOptions()
parseUpdateData()
parsePkWhere()
No public properties found
No constants found
aggregate()
withAggregate()
resultSetToModelCollection()
resultToModel()
result()
resultSet()
filterResult()
getResultAttr()
resultToEmpty()
jsonResult()
throwNotFound()
parseQueryWhere()
parseWhereExp()
parseWhereItem()
whereEq()
parseArrayWhereItems()
options()
getModelUpdateCondition()
$timeRule
$model
$connection
$name
$pk
$autoinc
$prefix
$options
N/A
No private methods found
No private properties found
N/A

Properties

$timeRule

$timeRule : array

日期查询表达式

Type

array

$model

$model : \think\Model

当前模型对象

Type

Model

$connection

$connection : \think\db\Connection

当前数据库连接对象

Type

Connection

$name

$name : string

当前数据表名称(不含前缀)

Type

string

$pk

$pk : string|array

当前数据表主键

Type

string|array

$autoinc

$autoinc : string

当前数据表自增主键

Type

string

$prefix

$prefix : string

当前数据表前缀

Type

string

$options

$options : array

当前查询参数

Type

array

Methods

timeRule()

timeRule(array  $rule) : $this

添加日期或者时间查询规则

Parameters

array $rule

时间表达式

Returns

$this —

whereTime()

whereTime(string  $field, string  $op, string|array  $range = null, string  $logic = 'AND') : $this

查询日期或者时间

Parameters

string $field

日期字段名

string $op

比较运算符或者表达式

string|array $range

比较范围

string $logic

AND OR

Returns

$this —

whereTimeInterval()

whereTimeInterval(string  $field, string  $start, string  $interval = 'day', int  $step = 1, string  $logic = 'AND') : $this

查询某个时间间隔数据

Parameters

string $field

日期字段名

string $start

开始时间

string $interval

时间间隔单位 day/month/year/week/hour/minute/second

int $step

间隔

string $logic

AND OR

Returns

$this —

whereMonth()

whereMonth(string  $field, string  $month = 'this month', int  $step = 1, string  $logic = 'AND') : $this

查询月数据 whereMonth('time_field', '2018-1')

Parameters

string $field

日期字段名

string $month

月份信息

int $step

间隔

string $logic

AND OR

Returns

$this —

whereWeek()

whereWeek(string  $field, string  $week = 'this week', int  $step = 1, string  $logic = 'AND') : $this

查询周数据 whereWeek('time_field', '2018-1-1') 从2018-1-1开始的一周数据

Parameters

string $field

日期字段名

string $week

周信息

int $step

间隔

string $logic

AND OR

Returns

$this —

whereYear()

whereYear(string  $field, string  $year = 'this year', int  $step = 1, string  $logic = 'AND') : $this

查询年数据 whereYear('time_field', '2018')

Parameters

string $field

日期字段名

string $year

年份信息

int $step

间隔

string $logic

AND OR

Returns

$this —

whereDay()

whereDay(string  $field, string  $day = 'today', int  $step = 1, string  $logic = 'AND') : $this

查询日数据 whereDay('time_field', '2018-1-1')

Parameters

string $field

日期字段名

string $day

日期信息

int $step

间隔

string $logic

AND OR

Returns

$this —

whereBetweenTime()

whereBetweenTime(string  $field, string|int  $startTime, string|int  $endTime, string  $logic = 'AND') : $this

查询日期或者时间范围 whereBetweenTime('time_field', '2018-1-1','2018-1-15')

Parameters

string $field

日期字段名

string|int $startTime

开始时间

string|int $endTime

结束时间

string $logic

AND OR

Returns

$this —

whereNotBetweenTime()

whereNotBetweenTime(string  $field, string|int  $startTime, string|int  $endTime) : $this

查询日期或者时间范围 whereNotBetweenTime('time_field', '2018-1-1','2018-1-15')

Parameters

string $field

日期字段名

string|int $startTime

开始时间

string|int $endTime

结束时间

Returns

$this —

whereBetweenTimeField()

whereBetweenTimeField(string  $startField, string  $endField) : $this

查询当前时间在两个时间字段范围 whereBetweenTimeField('start_time', 'end_time')

Parameters

string $startField

开始时间字段

string $endField

结束时间字段

Returns

$this —

whereNotBetweenTimeField()

whereNotBetweenTimeField(string  $startField, string  $endField) : $this

查询当前时间不在两个时间字段范围 whereNotBetweenTimeField('start_time', 'end_time')

Parameters

string $startField

开始时间字段

string $endField

结束时间字段

Returns

$this —

count()

count(string|\think\db\Raw  $field = '*') : int

COUNT查询

Parameters

string|\think\db\Raw $field

字段名

Returns

int —

sum()

sum(string|\think\db\Raw  $field) : float

SUM查询

Parameters

string|\think\db\Raw $field

字段名

Returns

float —

min()

min(string|\think\db\Raw  $field, bool  $force = true) : mixed

MIN查询

Parameters

string|\think\db\Raw $field

字段名

bool $force

强制转为数字类型

Returns

mixed —

max()

max(string|\think\db\Raw  $field, bool  $force = true) : mixed

MAX查询

Parameters

string|\think\db\Raw $field

字段名

bool $force

强制转为数字类型

Returns

mixed —

avg()

avg(string|\think\db\Raw  $field) : float

AVG查询

Parameters

string|\think\db\Raw $field

字段名

Returns

float —

model()

model(\think\Model  $model) : $this

指定模型

Parameters

\think\Model $model

模型对象实例

Returns

$this —

getModel()

getModel() : \think\Model|null

获取当前的模型对象

Returns

\think\Model|null —

hidden()

hidden(array  $hidden) : $this

设置需要隐藏的输出属性

Parameters

array $hidden

需要隐藏的字段名

Returns

$this —

visible()

visible(array  $visible) : $this

设置需要输出的属性

Parameters

array $visible

需要输出的属性

Returns

$this —

append()

append(array  $append) : $this

设置需要追加输出的属性

Parameters

array $append

需要追加的属性

Returns

$this —

scope()

scope(array|string|\Closure  $scope, array  ...$args) : $this

添加查询范围

Parameters

array|string|\Closure $scope

查询范围定义

array $args variadic

参数

Returns

$this —

relation()

relation(array  $relation) : $this

设置关联查询

Parameters

array $relation

关联名称

Returns

$this —

withSearch()

withSearch(string|array  $fields, mixed  $data = [], string  $prefix = '') : $this

使用搜索器条件搜索字段

Parameters

string|array $fields

搜索字段

mixed $data

搜索数据

string $prefix

字段前缀标识

Returns

$this —

withAttr()

withAttr(string|array  $name, callable  $callback = null) : $this

设置数据字段获取器

Parameters

string|array $name

字段名

callable $callback

闭包获取器

Returns

$this —

with()

with(array|string  $with) : $this

关联预载入 In方式

Parameters

array|string $with

关联方法名称

Returns

$this —

withJoin()

withJoin(array|string  $with, string  $joinType = '') : $this

关联预载入 JOIN方式

Parameters

array|string $with

关联方法名

string $joinType

JOIN方式

Returns

$this —

withCache()

withCache(string|array|bool  $relation = true, mixed  $key = true, int|\DateTime  $expire = null, string  $tag = null) : $this

关联缓存

Parameters

string|array|bool $relation

关联方法名

mixed $key

缓存key

int|\DateTime $expire

缓存有效期

string $tag

缓存标签

Returns

$this —

withCount()

withCount(string|array  $relation, bool  $subQuery = true) : $this

关联统计

Parameters

string|array $relation

关联方法名

bool $subQuery

是否使用子查询

Returns

$this —

withSum()

withSum(string|array  $relation, string  $field, bool  $subQuery = true) : $this

关联统计Sum

Parameters

string|array $relation

关联方法名

string $field

字段

bool $subQuery

是否使用子查询

Returns

$this —

withMax()

withMax(string|array  $relation, string  $field, bool  $subQuery = true) : $this

关联统计Max

Parameters

string|array $relation

关联方法名

string $field

字段

bool $subQuery

是否使用子查询

Returns

$this —

withMin()

withMin(string|array  $relation, string  $field, bool  $subQuery = true) : $this

关联统计Min

Parameters

string|array $relation

关联方法名

string $field

字段

bool $subQuery

是否使用子查询

Returns

$this —

withAvg()

withAvg(string|array  $relation, string  $field, bool  $subQuery = true) : $this

关联统计Avg

Parameters

string|array $relation

关联方法名

string $field

字段

bool $subQuery

是否使用子查询

Returns

$this —

has()

has(string  $relation, mixed  $operator = '>=', int  $count = 1, string  $id = '*', string  $joinType = '') : $this

根据关联条件查询当前模型

Parameters

string $relation

关联方法名

mixed $operator

比较操作符

int $count

个数

string $id

关联表的统计字段

string $joinType

JOIN类型

Returns

$this —

hasWhere()

hasWhere(string  $relation, mixed  $where = [], mixed  $fields = '*', string  $joinType = '') : $this

根据关联条件查询当前模型

Parameters

string $relation

关联方法名

mixed $where

查询条件(数组或者闭包)

mixed $fields

字段

string $joinType

JOIN类型

Returns

$this —

allowEmpty()

allowEmpty(bool  $allowEmpty = true) : $this

是否允许返回空数据(或空模型)

Parameters

bool $allowEmpty

是否允许为空

Returns

$this —

failException()

failException(bool  $fail = true) : $this

设置查询数据不存在是否抛出异常

Parameters

bool $fail

数据不存在是否抛出异常

Returns

$this —

findOrEmpty()

findOrEmpty(mixed  $data = null) : array|\think\Model

查找单条记录 不存在返回空数据(或者空模型)

Parameters

mixed $data

数据

Returns

array|\think\Model —

selectOrFail()

selectOrFail(array|string|\think\db\Query|\Closure  $data = null) : array|\think\Model

查找多条记录 如果不存在则抛出异常

Parameters

array|string|\think\db\Query|\Closure $data

数据

Returns

array|\think\Model —

findOrFail()

findOrFail(array|string|\think\db\Query|\Closure  $data = null) : array|\think\Model

查找单条记录 如果不存在则抛出异常

Parameters

array|string|\think\db\Query|\Closure $data

数据

Returns

array|\think\Model —

transactionXa()

transactionXa(callable  $callback, array  $dbs = []) : mixed

执行数据库Xa事务

Parameters

callable $callback

数据操作方法回调

array $dbs

多个查询对象或者连接对象

Throws

\think\db\concern\PDOException
\Exception
\Throwable

Returns

mixed —

transaction()

transaction(callable  $callback) : mixed

执行数据库事务

Parameters

callable $callback

数据操作方法回调

Returns

mixed —

startTrans()

startTrans() : void

启动事务

commit()

commit() : void

用于非自动提交状态下面的查询提交

Throws

\think\db\concern\PDOException

rollback()

rollback() : void

事务回滚

Throws

\think\db\concern\PDOException

where()

where(mixed  $field, mixed  $op = null, mixed  $condition = null) : $this

指定AND查询条件

Parameters

mixed $field

查询字段

mixed $op

查询表达式

mixed $condition

查询条件

Returns

$this —

whereOr()

whereOr(mixed  $field, mixed  $op = null, mixed  $condition = null) : $this

指定OR查询条件

Parameters

mixed $field

查询字段

mixed $op

查询表达式

mixed $condition

查询条件

Returns

$this —

whereXor()

whereXor(mixed  $field, mixed  $op = null, mixed  $condition = null) : $this

指定XOR查询条件

Parameters

mixed $field

查询字段

mixed $op

查询表达式

mixed $condition

查询条件

Returns

$this —

whereNull()

whereNull(mixed  $field, string  $logic = 'AND') : $this

指定Null查询条件

Parameters

mixed $field

查询字段

string $logic

查询逻辑 and or xor

Returns

$this —

whereNotNull()

whereNotNull(mixed  $field, string  $logic = 'AND') : $this

指定NotNull查询条件

Parameters

mixed $field

查询字段

string $logic

查询逻辑 and or xor

Returns

$this —

whereExists()

whereExists(mixed  $condition, string  $logic = 'AND') : $this

指定Exists查询条件

Parameters

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereNotExists()

whereNotExists(mixed  $condition, string  $logic = 'AND') : $this

指定NotExists查询条件

Parameters

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereIn()

whereIn(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定In查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereNotIn()

whereNotIn(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定NotIn查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereLike()

whereLike(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定Like查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereNotLike()

whereNotLike(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定NotLike查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereBetween()

whereBetween(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定Between查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereNotBetween()

whereNotBetween(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定NotBetween查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereFindInSet()

whereFindInSet(mixed  $field, mixed  $condition, string  $logic = 'AND') : $this

指定FIND_IN_SET查询条件

Parameters

mixed $field

查询字段

mixed $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereColumn()

whereColumn(string  $field1, string  $operator, string  $field2 = null, string  $logic = 'AND') : $this

比较两个字段

Parameters

string $field1

查询字段

string $operator

比较操作符

string $field2

比较字段

string $logic

查询逻辑 and or xor

Returns

$this —

useSoftDelete()

useSoftDelete(string  $field, mixed  $condition = null) : $this

设置软删除字段及条件

Parameters

string $field

查询字段

mixed $condition

查询条件

Returns

$this —

whereExp()

whereExp(mixed  $field, string  $where, array  $bind = [], string  $logic = 'AND') : $this

指定Exp查询条件

Parameters

mixed $field

查询字段

string $where

查询条件

array $bind

参数绑定

string $logic

查询逻辑 and or xor

Returns

$this —

whereFieldRaw()

whereFieldRaw(string  $field, mixed  $op, string  $condition = null, string  $logic = 'AND') : $this

指定字段Raw查询

Parameters

string $field

查询字段表达式

mixed $op

查询表达式

string $condition

查询条件

string $logic

查询逻辑 and or xor

Returns

$this —

whereRaw()

whereRaw(string  $where, array  $bind = [], string  $logic = 'AND') : $this

指定表达式查询条件

Parameters

string $where

查询条件

array $bind

参数绑定

string $logic

查询逻辑 and or xor

Returns

$this —

whereOrRaw()

whereOrRaw(string  $where, array  $bind = []) : $this

指定表达式查询条件 OR

Parameters

string $where

查询条件

array $bind

参数绑定

Returns

$this —

removeWhereField()

removeWhereField(string  $field, string  $logic = 'AND') : $this

去除某个查询条件

Parameters

string $field

查询字段

string $logic

查询逻辑 and or xor

Returns

$this —

when()

when(mixed  $condition, \Closure|array  $query, \Closure|array  $otherwise = null) : $this

条件查询

Parameters

mixed $condition

满足条件(支持闭包)

\Closure|array $query

满足条件后执行的查询表达式(闭包或数组)

\Closure|array $otherwise

不满足条件后执行

Returns

$this —

__construct()

__construct(\think\db\ConnectionInterface  $connection) : mixed

架构函数

Parameters

\think\db\ConnectionInterface $connection

数据库连接对象

Returns

mixed —

__call()

__call(string  $method, array  $args) : mixed

利用__call方法实现一些特殊的Model方法

Parameters

string $method

方法名称

array $args

调用参数

Throws

\think\db\exception\DbException

Returns

mixed —

newQuery()

newQuery() : \think\db\BaseQuery

创建一个新的查询对象

Returns

\think\db\BaseQuery —

getConnection()

getConnection() : \think\db\ConnectionInterface

获取当前的数据库Connection对象

Returns

\think\db\ConnectionInterface —

name()

name(string  $name) : $this

指定当前数据表名(不含前缀)

Parameters

string $name

不含前缀的数据表名字

Returns

$this —

getName()

getName() : string

获取当前的数据表名称

Returns

string —

getConfig()

getConfig(string  $name = '') : mixed

获取数据库的配置参数

Parameters

string $name

参数名称

Returns

mixed —

getTable()

getTable(string  $name = '') : mixed

得到当前或者指定名称的数据表

Parameters

string $name

不含前缀的数据表名字

Returns

mixed —

setFieldType()

setFieldType(array  $type) : $this

设置字段类型信息

Parameters

array $type

字段类型信息

Returns

$this —

getLastSql()

getLastSql() : string

获取最近一次查询的sql语句

Returns

string —

getNumRows()

getNumRows() : int

获取返回或者影响的记录数

Returns

int —

getLastInsID()

getLastInsID(string  $sequence = null) : mixed

获取最近插入的ID

Parameters

string $sequence

自增序列名

Returns

mixed —

value()

value(string  $field, mixed  $default = null) : mixed

得到某个字段的值

Parameters

string $field

字段名

mixed $default

默认值

Returns

mixed —

column()

column(string  $field, string  $key = '') : array

得到某个列的数组

Parameters

string $field

字段名 多个字段用逗号分隔

string $key

索引

Returns

array —

union()

union(mixed  $union, bool  $all = false) : $this

查询SQL组装 union

Parameters

mixed $union

UNION

bool $all

是否适用UNION ALL

Returns

$this —

unionAll()

unionAll(mixed  $union) : $this

查询SQL组装 union all

Parameters

mixed $union

UNION数据

Returns

$this —

field()

field(mixed  $field) : $this

指定查询字段

Parameters

mixed $field

字段信息

Returns

$this —

withoutField()

withoutField(array|string  $field) : $this

指定要排除的查询字段

Parameters

array|string $field

要排除的字段

Returns

$this —

tableField()

tableField(mixed  $field, string  $tableName, string  $prefix = '', string  $alias = '') : $this

指定其它数据表的查询字段

Parameters

mixed $field

字段信息

string $tableName

数据表名

string $prefix

字段前缀

string $alias

别名前缀

Returns

$this —

data()

data(array  $data) : $this

设置数据

Parameters

array $data

数据

Returns

$this —

removeOption()

removeOption(string  $option = '') : $this

去除查询参数

Parameters

string $option

参数名 留空去除所有参数

Returns

$this —

limit()

limit(int  $offset, int  $length = null) : $this

指定查询数量

Parameters

int $offset

起始位置

int $length

查询数量

Returns

$this —

page()

page(int  $page, int  $listRows = null) : $this

指定分页

Parameters

int $page

页数

int $listRows

每页数量

Returns

$this —

table()

table(mixed  $table) : $this

指定当前操作的数据表

Parameters

mixed $table

表名

Returns

$this —

order()

order(string|array|\think\db\Raw  $field, string  $order = '') : $this

指定排序 order('id','desc') 或者 order(['id'=>'desc','create_time'=>'desc'])

Parameters

string|array|\think\db\Raw $field

排序字段

string $order

排序

Returns

$this —

paginate()

paginate(int|array  $listRows = null, int|bool  $simple = false) : \think\Paginator

分页查询

Parameters

int|array $listRows

每页数量 数组表示配置参数

int|bool $simple

是否简洁模式或者总记录数

Throws

\think\db\exception\DbException

Returns

\think\Paginator —

paginateX()

paginateX(int|array  $listRows = null, string  $key = null, string  $sort = null) : \think\Paginator

根据数字类型字段进行分页查询(大数据)

Parameters

int|array $listRows

每页数量或者分页配置

string $key

分页索引键

string $sort

索引键排序 asc|desc

Throws

\think\db\exception\DbException

Returns

\think\Paginator —

more()

more(int  $limit, int|string  $lastId = null, string  $key = null, string  $sort = null) : array

根据最后ID查询更多N个数据

Parameters

int $limit

LIMIT

int|string $lastId

LastId

string $key

分页索引键 默认为主键

string $sort

索引键排序 asc|desc

Throws

\think\db\exception\DbException

Returns

array —

cache()

cache(mixed  $key = true, int|\DateTime  $expire = null, string|array  $tag = null) : $this

查询缓存

Parameters

mixed $key

缓存key

int|\DateTime $expire

缓存有效期

string|array $tag

缓存标签

Returns

$this —

lock()

lock(bool|string  $lock = false) : $this

指定查询lock

Parameters

bool|string $lock

是否lock

Returns

$this —

alias()

alias(array|string  $alias) : $this

指定数据表别名

Parameters

array|string $alias

数据表别名

Returns

$this —

master()

master(bool  $readMaster = true) : $this

设置从主服务器读取数据

Parameters

bool $readMaster

是否从主服务器读取

Returns

$this —

strict()

strict(bool  $strict = true) : $this

设置是否严格检查字段名

Parameters

bool $strict

是否严格检查字段

Returns

$this —

sequence()

sequence(string  $sequence = null) : $this

设置自增序列名

Parameters

string $sequence

自增序列名

Returns

$this —

json()

json(array  $json = [], bool  $assoc = false) : $this

设置JSON字段信息

Parameters

array $json

JSON字段

bool $assoc

是否取出数组

Returns

$this —

pk()

pk(string|array  $pk) : $this

指定数据表主键

Parameters

string|array $pk

主键

Returns

$this —

getOptions()

getOptions(string  $name = '') : mixed

获取当前的查询参数

Parameters

string $name

参数名

Returns

mixed —

setOption()

setOption(string  $option, mixed  $value) : $this

设置当前的查询参数

Parameters

string $option

参数名

mixed $value

参数值

Returns

$this —

via()

via(string  $via = '') : $this

设置当前字段添加的表别名

Parameters

string $via

临时表别名

Returns

$this —

save()

save(array  $data = [], bool  $forceInsert = false) : int

保存记录 自动判断insert或者update

Parameters

array $data

数据

bool $forceInsert

是否强制insert

Returns

int —

insert()

insert(array  $data = [], bool  $getLastInsID = false) : int|string

插入记录

Parameters

array $data

数据

bool $getLastInsID

返回自增主键

Returns

int|string —

insertGetId()

insertGetId(array  $data) : int|string

插入记录并获取自增ID

Parameters

array $data

数据

Returns

int|string —

insertAll()

insertAll(array  $dataSet = [], int  $limit) : int

批量插入记录

Parameters

array $dataSet

数据集

int $limit

每次写入数据限制

Returns

int —

selectInsert()

selectInsert(array  $fields, string  $table) : int

通过Select方式插入记录

Parameters

array $fields

要插入的数据表字段名

string $table

要插入的数据表名

Returns

int —

update()

update(mixed  $data = []) : int

更新记录

Parameters

mixed $data

数据

Throws

\think\db\exception\DbException

Returns

int —

delete()

delete(mixed  $data = null) : int

删除记录

Parameters

mixed $data

表达式 true 表示强制删除

Throws

\think\db\exception\DbException

Returns

int —

select()

select(mixed  $data = null) : \think\Collection

查找记录

Parameters

mixed $data

数据

Throws

\think\db\exception\DbException
\think\db\exception\ModelNotFoundException
\think\db\exception\DataNotFoundException

Returns

\think\Collection —

find()

find(mixed  $data = null) : array|\think\Model|null

查找单条记录

Parameters

mixed $data

查询数据

Throws

\think\db\exception\DbException
\think\db\exception\ModelNotFoundException
\think\db\exception\DataNotFoundException

Returns

array|\think\Model|null —

parseOptions()

parseOptions() : array

分析表达式(可用于查询或者写入操作)

Returns

array —

parseUpdateData()

parseUpdateData(array  $data) : bool

分析数据是否存在更新条件

Parameters

array $data

数据

Throws

\think\db\exception\DbException

Returns

bool —

parsePkWhere()

parsePkWhere(array|string  $data) : void

把主键值转换为查询条件 支持复合主键

Parameters

array|string $data

主键数据

Throws

\think\db\exception\DbException

aggregate()

aggregate(string  $aggregate, string|\think\db\Raw  $field, bool  $force = false) : mixed

聚合查询

Parameters

string $aggregate

聚合方法

string|\think\db\Raw $field

字段名

bool $force

强制转为数字类型

Returns

mixed —

withAggregate()

withAggregate(array|string  $relations, string  $aggregate = 'count', string  $field = '*', bool  $subQuery = true) : $this

关联统计

Parameters

array|string $relations

关联方法名

string $aggregate

聚合查询方法

string $field

字段

bool $subQuery

是否使用子查询

Returns

$this —

resultSetToModelCollection()

resultSetToModelCollection(array  $resultSet) : \think\model\Collection

查询数据转换为模型数据集对象

Parameters

array $resultSet

数据集

Returns

\think\model\Collection —

resultToModel()

resultToModel(array  $result, array  $options = [], bool  $resultSet = false, array  $withRelationAttr = []) : void

查询数据转换为模型对象

Parameters

array $result

查询数据

array $options

查询参数

bool $resultSet

是否为数据集查询

array $withRelationAttr

关联字段获取器

result()

result(array  $result) : void

处理数据

Parameters

array $result

查询数据

resultSet()

resultSet(array  $resultSet) : void

处理数据集

Parameters

array $resultSet

数据集

filterResult()

filterResult(array  $result) : void

处理数据的可见和隐藏

Parameters

array $result

查询数据

getResultAttr()

getResultAttr(array  $result, array  $withAttr = []) : void

使用获取器处理数据

Parameters

array $result

查询数据

array $withAttr

字段获取器

resultToEmpty()

resultToEmpty() : array|\think\Model|null

处理空数据

Throws

\think\db\exception\DbException
\think\db\exception\ModelNotFoundException
\think\db\exception\DataNotFoundException

Returns

array|\think\Model|null —

jsonResult()

jsonResult(array  $result, array  $json = [], bool  $assoc = false, array  $withRelationAttr = []) : void

JSON字段数据转换

Parameters

array $result

查询数据

array $json

JSON字段

bool $assoc

是否转换为数组

array $withRelationAttr

关联获取器

throwNotFound()

throwNotFound() : void

查询失败 抛出异常

Throws

\think\db\exception\ModelNotFoundException
\think\db\exception\DataNotFoundException

parseQueryWhere()

parseQueryWhere(\think\db\BaseQuery  $query) : void

解析Query对象查询条件

Parameters

\think\db\BaseQuery $query

查询对象

parseWhereExp()

parseWhereExp(string  $logic, mixed  $field, mixed  $op, mixed  $condition, array  $param = [], bool  $strict = false) : $this

分析查询表达式

Parameters

string $logic

查询逻辑 and or xor

mixed $field

查询字段

mixed $op

查询表达式

mixed $condition

查询条件

array $param

查询参数

bool $strict

严格模式

Returns

$this —

parseWhereItem()

parseWhereItem(string  $logic, mixed  $field, mixed  $op, mixed  $condition, array  $param = []) : array

分析查询表达式

Parameters

string $logic

查询逻辑 and or xor

mixed $field

查询字段

mixed $op

查询表达式

mixed $condition

查询条件

array $param

查询参数

Returns

array —

whereEq()

whereEq(string  $field, mixed  $value) : array

相等查询的主键处理

Parameters

string $field

字段名

mixed $value

字段值

Returns

array —

parseArrayWhereItems()

parseArrayWhereItems(array  $field, string  $logic) : $this

数组批量查询

Parameters

array $field

批量查询

string $logic

查询逻辑 and or xor

Returns

$this —

options()

options(array  $options) : $this

查询参数批量赋值

Parameters

array $options

表达式参数

Returns

$this —

getModelUpdateCondition()

getModelUpdateCondition(array  $options) : mixed

获取模型的更新条件

Parameters

array $options

查询参数

Returns

mixed —