\think\dbMongo

数据查询基础类

Summary

Methods
Properties
Constants
__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()
aggregate()
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()
command()
cmd()
getDistinct()
listCollections()
multiAggregate()
inc()
dec()
collection()
typeMap()
awaitData()
batchSize()
exhaust()
modifiers()
noCursorTimeout()
oplogReplay()
partial()
maxTimeMS()
collation()
replace()
skip()
slaveOk()
tailable()
writeConcern()
getPk()
getCursor()
getQueryGuid()
chunk()
getFieldsType()
getFieldType()
No public properties found
No constants found
options()
getModelUpdateCondition()
withAggregate()
resultSetToModelCollection()
resultToModel()
result()
resultSet()
filterResult()
getResultAttr()
resultToEmpty()
jsonResult()
throwNotFound()
parseQueryWhere()
parseWhereExp()
parseWhereItem()
whereEq()
parseArrayWhereItems()
$connection
$name
$pk
$autoinc
$prefix
$options
$timeRule
$model
N/A
No private methods found
No private properties found
N/A

Properties

$connection

$connection : \think\db\connector\Mongo

当前数据库连接对象

Type

Mongo

$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

__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(string  $table) : $this

指定当前操作的Collection

Parameters

string $table

表名

Returns

$this —

order()

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

设置sort

Parameters

array|string $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 —

aggregate()

aggregate(string  $aggregate, string  $field, bool  $force = false) : mixed

聚合查询

Parameters

string $aggregate

聚合指令

string $field

字段名

bool $force

强制转为数字类型

Returns

mixed —

count()

count(string  $field = null) : int

COUNT查询

Parameters

string $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 —

command()

command(\MongoDB\Driver\Command  $command, string  $dbName = '', \MongoDB\Driver\ReadPreference  $readPreference = null, string|array  $typeMap = null) : mixed

执行指令 返回数据集

Parameters

\MongoDB\Driver\Command $command

指令

string $dbName
\MongoDB\Driver\ReadPreference $readPreference

readPreference

string|array $typeMap

指定返回的typeMap

Throws

\MongoDB\Driver\Exception\AuthenticationException
\MongoDB\Driver\Exception\InvalidArgumentException
\MongoDB\Driver\Exception\ConnectionException
\MongoDB\Driver\Exception\RuntimeException

Returns

mixed —

cmd()

cmd(string|array|object  $command, mixed  $extra = null, string  $db = '') : array

执行command

Parameters

string|array|object $command

指令

mixed $extra

额外参数

string $db

数据库名

Returns

array —

getDistinct()

getDistinct(string  $field) : array

指定distinct查询

Parameters

string $field

字段名

Returns

array —

listCollections()

listCollections(string  $db = '') : mixed

获取数据库的所有collection

Parameters

string $db

数据库名称 留空为当前数据库

Throws

\think\db\exception\DbException

Returns

mixed —

multiAggregate()

multiAggregate(array  $aggregate, array  $groupBy) : array

多聚合操作

Parameters

array $aggregate

聚合指令, 可以聚合多个参数, 如 ['sum' => 'field1', 'avg' => 'field2']

array $groupBy

类似mysql里面的group字段, 可以传入多个字段, 如 ['field_a', 'field_b', 'field_c']

Returns

array —

查询结果

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 —

collection()

collection(string  $collection) : $this

table方法的别名

Parameters

string $collection

Returns

$this —

typeMap()

typeMap(string|array  $typeMap) : $this

设置typeMap

Parameters

string|array $typeMap

Returns

$this —

awaitData()

awaitData(bool  $awaitData) : $this

awaitData

Parameters

bool $awaitData

Returns

$this —

batchSize()

batchSize(int  $batchSize) : $this

batchSize

Parameters

int $batchSize

Returns

$this —

exhaust()

exhaust(bool  $exhaust) : $this

exhaust

Parameters

bool $exhaust

Returns

$this —

modifiers()

modifiers(array  $modifiers) : $this

设置modifiers

Parameters

array $modifiers

Returns

$this —

noCursorTimeout()

noCursorTimeout(bool  $noCursorTimeout) : $this

设置noCursorTimeout

Parameters

bool $noCursorTimeout

Returns

$this —

oplogReplay()

oplogReplay(bool  $oplogReplay) : $this

设置oplogReplay

Parameters

bool $oplogReplay

Returns

$this —

partial()

partial(bool  $partial) : $this

设置partial

Parameters

bool $partial

Returns

$this —

maxTimeMS()

maxTimeMS(string  $maxTimeMS) : $this

maxTimeMS

Parameters

string $maxTimeMS

Returns

$this —

collation()

collation(array  $collation) : $this

collation

Parameters

array $collation

Returns

$this —

replace()

replace(bool  $replace = true) : $this

设置是否REPLACE

Parameters

bool $replace

是否使用REPLACE写入数据

Returns

$this —

skip()

skip(int  $skip) : $this

设置skip

Parameters

int $skip

Returns

$this —

slaveOk()

slaveOk(bool  $slaveOk) : $this

设置slaveOk

Parameters

bool $slaveOk

Returns

$this —

tailable()

tailable(bool  $tailable) : $this

设置tailable

Parameters

bool $tailable

Returns

$this —

writeConcern()

writeConcern(\MongoDB\Driver\WriteConcern  $writeConcern) : $this

设置writeConcern对象

Parameters

\MongoDB\Driver\WriteConcern $writeConcern

Returns

$this —

getPk()

getPk() : string|array

获取当前数据表的主键

Returns

string|array —

getCursor()

getCursor() : \MongoDB\Driver\Cursor

执行查询但只返回Cursor对象

Returns

\MongoDB\Driver\Cursor —

getQueryGuid()

getQueryGuid(mixed  $data = null) : string

获取当前的查询标识

Parameters

mixed $data

要序列化的数据

Returns

string —

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\DbException

Returns

bool —

getFieldsType()

getFieldsType() : array

获取字段类型信息

Returns

array —

getFieldType()

getFieldType(string  $field) : string|null

获取字段类型信息

Parameters

string $field

字段名

Returns

string|null —

options()

options(array  $options) : $this

查询参数批量赋值

Parameters

array $options

表达式参数

Returns

$this —

getModelUpdateCondition()

getModelUpdateCondition(array  $options) : mixed

获取模型的更新条件

Parameters

array $options

查询参数

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 —