\think\db\concernModelRelationQuery

模型及关联查询

Summary

Methods
Properties
Constants
model()
getModel()
hidden()
visible()
append()
scope()
relation()
withSearch()
withAttr()
with()
withJoin()
withCache()
withCount()
withSum()
withMax()
withMin()
withAvg()
has()
hasWhere()
No public properties found
No constants found
withAggregate()
resultSetToModelCollection()
resultToModel()
$model
N/A
No private methods found
No private properties found
N/A

Properties

$model

$model : \think\Model

当前模型对象

Type

Model

Methods

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 —

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

关联字段获取器