\think\dbQuery

PDO数据查询类

Summary

Methods
Properties
Constants
join()
leftJoin()
rightJoin()
fullJoin()
view()
bind()
bindValue()
isBind()
bindParams()
getBind()
getTableFields()
getFields()
getFieldsType()
getFieldType()
getFieldsBindType()
getFieldBindType()
__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()
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()
orderRaw()
fieldRaw()
orderField()
orderRand()
exp()
tableRaw()
fetchSql()
batchQuery()
using()
procedure()
group()
having()
distinct()
force()
comment()
replace()
partition()
duplicate()
extra()
buildSql()
getPk()
autoinc()
getAutoInc()
inc()
dec()
getQueryGuid()
getPdo()
cursor()
chunk()
No public properties found
No constants found
getJoinTable()
parseView()
options()
getModelUpdateCondition()
aggregate()
withAggregate()
resultSetToModelCollection()
resultToModel()
result()
resultSet()
filterResult()
getResultAttr()
resultToEmpty()
jsonResult()
throwNotFound()
parseQueryWhere()
parseWhereExp()
parseWhereItem()
whereEq()
parseArrayWhereItems()
$bind
$connection
$name
$pk
$autoinc
$prefix
$options
$timeRule
$model
N/A
No private methods found
No private properties found
N/A

Properties

$bind

$bind : array

当前参数绑定

Type

array

$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

$timeRule

$timeRule : array

日期查询表达式

Type

array

$model

$model : \think\Model

当前模型对象

Type

Model

Methods

join()

join(mixed  $join, mixed  $condition = null, string  $type = 'INNER', array  $bind = []) : $this

查询SQL组装 join

Parameters

mixed $join

关联的表名

mixed $condition

条件

string $type

JOIN类型

array $bind

参数绑定

Returns

$this —

leftJoin()

leftJoin(mixed  $join, mixed  $condition = null, array  $bind = []) : $this

LEFT JOIN

Parameters

mixed $join

关联的表名

mixed $condition

条件

array $bind

参数绑定

Returns

$this —

rightJoin()

rightJoin(mixed  $join, mixed  $condition = null, array  $bind = []) : $this

RIGHT JOIN

Parameters

mixed $join

关联的表名

mixed $condition

条件

array $bind

参数绑定

Returns

$this —

fullJoin()

fullJoin(mixed  $join, mixed  $condition = null, array  $bind = []) : $this

FULL JOIN

Parameters

mixed $join

关联的表名

mixed $condition

条件

array $bind

参数绑定

Returns

$this —

view()

view(string|array  $join, string|array  $field = true, string  $on = null, string  $type = 'INNER', array  $bind = []) : $this

指定JOIN查询字段

Parameters

string|array $join

数据表

string|array $field

查询字段

string $on

JOIN条件

string $type

JOIN类型

array $bind

参数绑定

Returns

$this —

bind()

bind(array  $value) : $this

批量参数绑定

Parameters

array $value

绑定变量值

Returns

$this —

bindValue()

bindValue(mixed  $value, int  $type = null, string  $name = null) : string

单个参数绑定

Parameters

mixed $value

绑定变量值

int $type

绑定类型

string $name

绑定标识

Returns

string —

isBind()

isBind(string  $key) : bool

检测参数是否已经绑定

Parameters

string $key

参数名

Returns

bool —

bindParams()

bindParams(string  $sql, array  $bind = []) : void

参数绑定

Parameters

string $sql

绑定的sql表达式

array $bind

参数绑定

getBind()

getBind(bool  $clear = true) : array

获取绑定的参数 并清空

Parameters

bool $clear

是否清空绑定数据

Returns

array —

getTableFields()

getTableFields(string  $tableName = '') : array

获取数据表字段信息

Parameters

string $tableName

数据表名

Returns

array —

getFields()

getFields(string  $tableName = '') : array

获取详细字段类型信息

Parameters

string $tableName

数据表名称

Returns

array —

getFieldsType()

getFieldsType() : array

获取字段类型信息

Returns

array —

getFieldType()

getFieldType(string  $field) : string|null

获取字段类型信息

Parameters

string $field

字段名

Returns

string|null —

getFieldsBindType()

getFieldsBindType() : array

获取字段类型信息

Returns

array —

getFieldBindType()

getFieldBindType(string  $field) : int

获取字段类型信息

Parameters

string $field

字段名

Returns

int —

__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

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 —

orderRaw()

orderRaw(string  $field, array  $bind = []) : $this

表达式方式指定Field排序

Parameters

string $field

排序字段

array $bind

参数绑定

Returns

$this —

fieldRaw()

fieldRaw(string  $field) : $this

表达式方式指定查询字段

Parameters

string $field

字段名

Returns

$this —

orderField()

orderField(string  $field, array  $values, string  $order = '') : $this

指定Field排序 orderField('id',[1,2,3],'desc')

Parameters

string $field

排序字段

array $values

排序值

string $order

排序 desc/asc

Returns

$this —

orderRand()

orderRand() : $this

随机排序

Returns

$this —

exp()

exp(string  $field, string  $value) : $this

使用表达式设置数据

Parameters

string $field

字段名

string $value

字段值

Returns

$this —

tableRaw()

tableRaw(mixed  $table) : $this

表达式方式指定当前操作的数据表

Parameters

mixed $table

表名

Returns

$this —

fetchSql()

fetchSql(bool  $fetch = true) : $this|\think\db\Fetch

获取执行的SQL语句而不进行实际的查询

Parameters

bool $fetch

是否返回sql

Returns

$this|\think\db\Fetch —

batchQuery()

batchQuery(array  $sql = []) : bool

批处理执行SQL语句 批处理的指令都认为是execute操作

Parameters

array $sql

SQL批处理指令

Returns

bool —

using()

using(mixed  $using) : $this

USING支持 用于多表删除

Parameters

mixed $using

USING

Returns

$this —

procedure()

procedure(bool  $procedure = true) : $this

存储过程调用

Parameters

bool $procedure

是否为存储过程查询

Returns

$this —

group()

group(string|array  $group) : $this

指定group查询

Parameters

string|array $group

GROUP

Returns

$this —

having()

having(string  $having) : $this

指定having查询

Parameters

string $having

having

Returns

$this —

distinct()

distinct(bool  $distinct = true) : $this

指定distinct查询

Parameters

bool $distinct

是否唯一

Returns

$this —

force()

force(string  $force) : $this

指定强制索引

Parameters

string $force

索引名称

Returns

$this —

comment()

comment(string  $comment) : $this

查询注释

Parameters

string $comment

注释

Returns

$this —

replace()

replace(bool  $replace = true) : $this

设置是否REPLACE

Parameters

bool $replace

是否使用REPLACE写入数据

Returns

$this —

partition()

partition(string|array  $partition) : $this

设置当前查询所在的分区

Parameters

string|array $partition

分区名称

Returns

$this —

duplicate()

duplicate(array|string|\think\db\Raw  $duplicate) : $this

设置DUPLICATE

Parameters

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

DUPLICATE信息

Returns

$this —

extra()

extra(string  $extra) : $this

设置查询的额外参数

Parameters

string $extra

额外信息

Returns

$this —

buildSql()

buildSql(bool  $sub = true) : string

创建子查询SQL

Parameters

bool $sub

是否添加括号

Throws

\think\db\Exception

Returns

string —

getPk()

getPk() : string|array

获取当前数据表的主键

Returns

string|array —

autoinc()

autoinc(string  $autoinc) : $this

指定数据表自增主键

Parameters

string $autoinc

自增键

Returns

$this —

getAutoInc()

getAutoInc() : string|null

获取当前数据表的自增主键

Returns

string|null —

inc()

inc(string  $field, float  $step = 1) : $this

字段值增长

Parameters

string $field

字段名

float $step

增长值

Returns

$this —

dec()

dec(string  $field, float  $step = 1) : $this

字段值减少

Parameters

string $field

字段名

float $step

增长值

Returns

$this —

getQueryGuid()

getQueryGuid(mixed  $data = null) : string

获取当前的查询标识

Parameters

mixed $data

要序列化的数据

Returns

string —

getPdo()

getPdo() : \PDOStatement

执行查询但只返回PDOStatement对象

Returns

\PDOStatement —

cursor()

cursor(mixed  $data = null) : \Generator

使用游标查找记录

Parameters

mixed $data

数据

Returns

\Generator —

chunk()

chunk(int  $count, callable  $callback, string|array  $column = null, string  $order = 'asc') : bool

分批数据返回处理

Parameters

int $count

每次处理的数据数量

callable $callback

处理回调方法

string|array $column

分批处理的字段名

string $order

字段排序

Throws

\think\db\Exception

Returns

bool —

getJoinTable()

getJoinTable(array|string|\think\db\Raw  $join, string  $alias = null) : string|array

获取Join表名及别名 支持 ['prefix_table或者子查询'=>'alias'] 'table alias'

Parameters

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

JION表名

string $alias

别名

Returns

string|array —

parseView()

parseView(array  $options) : void

视图查询处理

Parameters

array $options

查询参数

options()

options(array  $options) : $this

查询参数批量赋值

Parameters

array $options

表达式参数

Returns

$this —

getModelUpdateCondition()

getModelUpdateCondition(array  $options) : mixed

获取模型的更新条件

Parameters

array $options

查询参数

Returns

mixed —

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 —