\thinkModel

Class Model

Summary

Methods
Properties
Constants
getPk()
getKey()
allowField()
readOnly()
data()
appendData()
getOrigin()
getData()
getChangedData()
set()
setAttrs()
setAttr()
getAttr()
withAttribute()
setParent()
getParent()
getRelation()
setRelation()
relationQuery()
together()
has()
hasWhere()
eagerly()
eagerlyResultSet()
eagerlyResult()
bindAttr()
relationCount()
hasOne()
belongsTo()
hasMany()
hasManyThrough()
hasOneThrough()
belongsToMany()
morphOne()
morphMany()
morphTo()
morphToMany()
morphByMany()
removeRelation()
setEvent()
withEvent()
isAutoWriteTimestamp()
getAutoWriteTimestamp()
setDateFormat()
getDateFormat()
append()
appendRelationAttr()
hidden()
visible()
toArray()
toJson()
__toString()
jsonSerialize()
toCollection()
maker()
macro()
setDb()
setInvoker()
invoke()
__construct()
getName()
newInstance()
setConnection()
getConnection()
setSuffix()
getSuffix()
db()
force()
isForce()
replace()
refresh()
exists()
isExists()
isEmpty()
lazySave()
save()
getWhere()
saveAll()
delete()
create()
update()
destroy()
__wakeup()
__set()
__get()
__isset()
__unset()
offsetSet()
offsetExists()
offsetUnset()
offsetGet()
withoutGlobalScope()
suffix()
connect()
__call()
__callStatic()
__destruct()
onAfterRead()
onBeforeInsert()
onAfterInsert()
onBeforeUpdate()
onAfterUpdate()
onBeforeWrite()
onAfterWrite()
onBeforeDelete()
onAfterDelete()
onBeforeRestore()
onAfterRestore()
No public properties found
No constants found
isPk()
getRealFieldName()
writeTransform()
getValue()
getJsonValue()
getRelationValue()
readTransform()
parseModel()
getForeignKey()
isRelationAttr()
getRelationData()
checkAutoRelationWrite()
autoRelationUpdate()
autoRelationInsert()
autoRelationDelete()
trigger()
checkTimeFieldType()
autoWriteTimestamp()
getTimeTypeValue()
formatDateTime()
getTimestampValue()
appendAttrToArray()
getBindAttr()
setUpdateWhere()
init()
checkData()
checkResult()
checkAllowFields()
updateData()
insertData()
$pk
$schema
$field
$type
$disuse
$readonly
$json
$jsonType
$jsonAssoc
$strict
$relationWrite
$event
$withEvent
$autoWriteTimestamp
$createTime
$updateTime
$dateFormat
$visible
$hidden
$append
$resultSetType
$suffix
$connection
$name
$key
$table
$initialized
$defaultSoftDelete
$globalScope
$db
$invoker
$maker
$macro
N/A
initialize()
$data
$origin
$set
$withAttr
$parent
$relation
$together
$exists
$force
$replace
$updateWhere
$lazySave
N/A

Properties

$pk

$pk : string|array

数据表主键 复合主键使用数组定义

Type

string|array

$schema

$schema : array

数据表字段信息 留空则自动获取

Type

array

$field

$field : array

当前允许写入的字段

Type

array

$type

$type : array

字段自动类型转换

Type

array

$disuse

$disuse : array

数据表废弃字段

Type

array

$readonly

$readonly : array

数据表只读字段

Type

array

$json

$json : array

JSON数据表字段

Type

array

$jsonType

$jsonType : array

JSON数据表字段类型

Type

array

$jsonAssoc

$jsonAssoc : bool

JSON数据取出是否需要转换为数组

Type

bool

$strict

$strict : bool

是否严格字段大小写

Type

bool

$relationWrite

$relationWrite : array

关联自动写入信息

Type

array

$event

$event : object

Event对象

Type

object

$withEvent

$withEvent : bool

是否需要事件响应

Type

bool

$autoWriteTimestamp

$autoWriteTimestamp : bool|string

是否需要自动写入时间戳 如果设置为字符串 则表示时间字段的类型

Type

bool|string

$createTime

$createTime : false|string

创建时间字段 false表示关闭

Type

false|string

$updateTime

$updateTime : false|string

更新时间字段 false表示关闭

Type

false|string

$dateFormat

$dateFormat : string

时间字段显示格式

Type

string

$visible

$visible : array

数据输出显示的属性

Type

array

$hidden

$hidden : array

数据输出隐藏的属性

Type

array

$append

$append : array

数据输出需要追加的属性

Type

array

$resultSetType

$resultSetType : string

数据集对象名

Type

string

$suffix

$suffix : string

数据表后缀

Type

string

$connection

$connection : string

数据库配置

Type

string

$name

$name : string

模型名称

Type

string

$key

$key : string

主键值

Type

string

$table

$table : string

数据表名称

Type

string

$initialized

$initialized : array

初始化过的模型.

Type

array

$defaultSoftDelete

$defaultSoftDelete : mixed

软删除字段默认值

Type

mixed

$globalScope

$globalScope : array

全局查询范围

Type

array

$db

$db : \think\DbManager

Db对象

Type

DbManager

$invoker

$invoker : callable

容器对象的依赖注入方法

Type

callable

$maker

$maker : \Closure[]

服务注入

Type

Closure[]

$macro

$macro : \Closure[][]

方法注入

Type

Closure[][]

$data

$data : array

当前模型数据

Type

array

$origin

$origin : array

原始数据

Type

array

$set

$set : array

修改器执行记录

Type

array

$withAttr

$withAttr : array

动态获取器

Type

array

$parent

$parent : object

父关联模型对象

Type

object

$relation

$relation : array

模型关联数据

Type

array

$together

$together : array

关联写入定义信息

Type

array

$exists

$exists : bool

数据是否存在

Type

bool

$force

$force : bool

是否强制更新所有数据

Type

bool

$replace

$replace : bool

是否Replace

Type

bool

$updateWhere

$updateWhere : array

更新条件

Type

array

$lazySave

$lazySave : bool

延迟保存信息

Type

bool

Methods

getPk()

getPk() : string|array

获取模型对象的主键

Returns

string|array —

getKey()

getKey() : mixed

获取模型对象的主键值

Returns

mixed —

allowField()

allowField(array  $field) : $this

设置允许写入的字段

Parameters

array $field

允许写入的字段

Returns

$this —

readOnly()

readOnly(array  $field) : $this

设置只读字段

Parameters

array $field

只读字段

Returns

$this —

data()

data(array  $data, bool  $set = false, array  $allow = []) : $this

设置数据对象值

Parameters

array $data

数据

bool $set

是否调用修改器

array $allow

允许的字段名

Returns

$this —

appendData()

appendData(array  $data, bool  $set = false) : $this

批量追加数据对象值

Parameters

array $data

数据

bool $set

是否需要进行数据处理

Returns

$this —

getOrigin()

getOrigin(string  $name = null) : mixed

获取对象原始数据 如果不存在指定字段返回null

Parameters

string $name

字段名 留空获取全部

Returns

mixed —

getData()

getData(string  $name = null) : mixed

获取对象原始数据 如果不存在指定字段返回false

Parameters

string $name

字段名 留空获取全部

Throws

\InvalidArgumentException

Returns

mixed —

getChangedData()

getChangedData() : array

获取变化的数据 并排除只读数据

Returns

array —

set()

set(string  $name, mixed  $value) : void

直接设置数据对象值

Parameters

string $name

属性名

mixed $value

setAttrs()

setAttrs(array  $data) : void

通过修改器 批量设置数据对象值

Parameters

array $data

数据

setAttr()

setAttr(string  $name, mixed  $value, array  $data = []) : void

通过修改器 设置数据对象值

Parameters

string $name

属性名

mixed $value

属性值

array $data

数据

getAttr()

getAttr(string  $name) : mixed

获取器 获取数据对象的值

Parameters

string $name

名称

Throws

\InvalidArgumentException

Returns

mixed —

withAttribute()

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

设置数据字段获取器

Parameters

string|array $name

字段名

callable $callback

闭包获取器

Returns

$this —

setParent()

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

设置父关联对象

Parameters

\think\Model $model

模型对象

Returns

$this —

getParent()

getParent() : \think\Model

获取父关联对象

Returns

\think\Model —

getRelation()

getRelation(string  $name = null, bool  $auto = false) : mixed

获取当前模型的关联模型数据

Parameters

string $name

关联方法名

bool $auto

不存在是否自动获取

Returns

mixed —

setRelation()

setRelation(string  $name, mixed  $value, array  $data = []) : $this

设置关联数据对象值

Parameters

string $name

属性名

mixed $value

属性值

array $data

数据

Returns

$this —

relationQuery()

relationQuery(array  $relations, array  $withRelationAttr = []) : void

查询当前模型的关联数据

Parameters

array $relations

关联名

array $withRelationAttr

关联获取器

together()

together(array  $relation) : $this

关联数据写入

Parameters

array $relation

关联

Returns

$this —

has()

has(string  $relation, mixed  $operator = '>=', int  $count = 1, string  $id = '*', string  $joinType = '', \think\db\BaseQuery  $query = null) : \think\db\BaseQuery

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

Parameters

string $relation

关联方法名

mixed $operator

比较操作符

int $count

个数

string $id

关联表的统计字段

string $joinType

JOIN类型

\think\db\BaseQuery $query

Query对象

Returns

\think\db\BaseQuery —

hasWhere()

hasWhere(string  $relation, mixed  $where = [], mixed  $fields = '*', string  $joinType = '', \think\db\BaseQuery  $query = null) : \think\db\BaseQuery

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

Parameters

string $relation

关联方法名

mixed $where

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

mixed $fields

字段

string $joinType

JOIN类型

\think\db\BaseQuery $query

Query对象

Returns

\think\db\BaseQuery —

eagerly()

eagerly(\think\db\BaseQuery  $query, string  $relation, mixed  $field, string  $joinType = '', \Closure  $closure = null, bool  $first = false) : bool

预载入关联查询 JOIN方式

Parameters

\think\db\BaseQuery $query

Query对象

string $relation

关联方法名

mixed $field

字段

string $joinType

JOIN类型

\Closure $closure

闭包

bool $first

Returns

bool —

eagerlyResultSet()

eagerlyResultSet(array  $resultSet, array  $relations, array  $withRelationAttr = [], bool  $join = false, mixed  $cache = false) : void

预载入关联查询 返回数据集

Parameters

array $resultSet

数据集

array $relations
array $withRelationAttr

关联获取器

bool $join

是否为JOIN方式

mixed $cache

关联缓存

eagerlyResult()

eagerlyResult(\think\Model  $result, array  $relations, array  $withRelationAttr = [], bool  $join = false, mixed  $cache = false) : void

预载入关联查询 返回模型对象

Parameters

\think\Model $result

数据对象

array $relations

关联

array $withRelationAttr

关联获取器

bool $join

是否为JOIN方式

mixed $cache

关联缓存

bindAttr()

bindAttr(string  $relation, array  $attrs = []) : $this

绑定(一对一)关联属性到当前模型

Parameters

string $relation

关联名称

array $attrs

绑定属性

Throws

\think\db\exception\DbException

Returns

$this —

relationCount()

relationCount(\think\db\BaseQuery  $query, array  $relations, string  $aggregate = 'sum', string  $field = '*', bool  $useSubQuery = true) : void

关联统计

Parameters

\think\db\BaseQuery $query

查询对象

array $relations

关联名

string $aggregate

聚合查询方法

string $field

字段

bool $useSubQuery

子查询

hasOne()

hasOne(string  $model, string  $foreignKey = '', string  $localKey = '') : \think\model\relation\HasOne

HAS ONE 关联定义

Parameters

string $model

模型名

string $foreignKey

关联外键

string $localKey

当前主键

Returns

\think\model\relation\HasOne —

belongsTo()

belongsTo(string  $model, string  $foreignKey = '', string  $localKey = '') : \think\model\relation\BelongsTo

BELONGS TO 关联定义

Parameters

string $model

模型名

string $foreignKey

关联外键

string $localKey

关联主键

Returns

\think\model\relation\BelongsTo —

hasMany()

hasMany(string  $model, string  $foreignKey = '', string  $localKey = '') : \think\model\relation\HasMany

HAS MANY 关联定义

Parameters

string $model

模型名

string $foreignKey

关联外键

string $localKey

当前主键

Returns

\think\model\relation\HasMany —

hasManyThrough()

hasManyThrough(string  $model, string  $through, string  $foreignKey = '', string  $throughKey = '', string  $localKey = '', string  $throughPk = '') : \think\model\relation\HasManyThrough

HAS MANY 远程关联定义

Parameters

string $model

模型名

string $through

中间模型名

string $foreignKey

关联外键

string $throughKey

关联外键

string $localKey

当前主键

string $throughPk

中间表主键

Returns

\think\model\relation\HasManyThrough —

hasOneThrough()

hasOneThrough(string  $model, string  $through, string  $foreignKey = '', string  $throughKey = '', string  $localKey = '', string  $throughPk = '') : \think\model\relation\HasOneThrough

HAS ONE 远程关联定义

Parameters

string $model

模型名

string $through

中间模型名

string $foreignKey

关联外键

string $throughKey

关联外键

string $localKey

当前主键

string $throughPk

中间表主键

Returns

\think\model\relation\HasOneThrough —

belongsToMany()

belongsToMany(string  $model, string  $middle = '', string  $foreignKey = '', string  $localKey = '') : \think\model\relation\BelongsToMany

BELONGS TO MANY 关联定义

Parameters

string $model

模型名

string $middle

中间表/模型名

string $foreignKey

关联外键

string $localKey

当前模型关联键

Returns

\think\model\relation\BelongsToMany —

morphOne()

morphOne(string  $model, string|array  $morph = null, string  $type = '') : \think\model\relation\MorphOne

MORPH One 关联定义

Parameters

string $model

模型名

string|array $morph

多态字段信息

string $type

多态类型

Returns

\think\model\relation\MorphOne —

morphMany()

morphMany(string  $model, string|array  $morph = null, string  $type = '') : \think\model\relation\MorphMany

MORPH MANY 关联定义

Parameters

string $model

模型名

string|array $morph

多态字段信息

string $type

多态类型

Returns

\think\model\relation\MorphMany —

morphTo()

morphTo(string|array  $morph = null, array  $alias = []) : \think\model\relation\MorphTo

MORPH TO 关联定义

Parameters

string|array $morph

多态字段信息

array $alias

多态别名定义

Returns

\think\model\relation\MorphTo —

morphToMany()

morphToMany(string  $model, string  $middle, string|array  $morph = null, string  $localKey = null) : \think\model\relation\MorphToMany

MORPH TO MANY关联定义

Parameters

string $model

模型名

string $middle

中间表名/模型名

string|array $morph

多态字段信息

string $localKey

当前模型关联键

Returns

\think\model\relation\MorphToMany —

morphByMany()

morphByMany(string  $model, string  $middle, string|array  $morph = null, string  $foreignKey = null) : \think\model\relation\MorphToMany

MORPH BY MANY关联定义

Parameters

string $model

模型名

string $middle

中间表名/模型名

string|array $morph

多态字段信息

string $foreignKey

关联外键

Returns

\think\model\relation\MorphToMany —

removeRelation()

removeRelation() : $this

移除当前模型的关联属性

Returns

$this —

setEvent()

setEvent(object  $event) : void

设置Event对象

Parameters

object $event

Event对象

withEvent()

withEvent(bool  $event) : $this

当前操作的事件响应

Parameters

bool $event

是否需要事件响应

Returns

$this —

isAutoWriteTimestamp()

isAutoWriteTimestamp(bool|string  $auto) : $this

是否需要自动写入时间字段

Parameters

bool|string $auto

Returns

$this —

getAutoWriteTimestamp()

getAutoWriteTimestamp() : bool|string

获取自动写入时间字段

Returns

bool|string —

setDateFormat()

setDateFormat(string|false  $format) : $this

设置时间字段格式化

Parameters

string|false $format

Returns

$this —

getDateFormat()

getDateFormat() : string|false

获取自动写入时间字段

Returns

string|false —

append()

append(array  $append = []) : $this

设置需要附加的输出属性

Parameters

array $append

属性列表

Returns

$this —

appendRelationAttr()

appendRelationAttr(string  $attr, string|array  $append) : $this

设置附加关联对象的属性

Parameters

string $attr

关联属性

string|array $append

追加属性名

Throws

\think\db\exception\DbException

Returns

$this —

hidden()

hidden(array  $hidden = []) : $this

设置需要隐藏的输出属性

Parameters

array $hidden

属性列表

Returns

$this —

visible()

visible(array  $visible = []) : $this

设置需要输出的属性

Parameters

array $visible

Returns

$this —

toArray()

toArray() : array

转换当前模型对象为数组

Returns

array —

toJson()

toJson(int  $options = JSON_UNESCAPED_UNICODE) : string

转换当前模型对象为JSON字符串

Parameters

int $options

json参数

Returns

string —

__toString()

__toString() : mixed

Returns

mixed —

jsonSerialize()

jsonSerialize() : mixed

Returns

mixed —

toCollection()

toCollection(array|\think\Collection  $collection = [], string  $resultSetType = null) : \think\Collection

转换数据集为数据集对象

Parameters

array|\think\Collection $collection

数据集

string $resultSetType

数据集类

Returns

\think\Collection —

maker()

maker(\Closure  $maker) : void

设置服务注入

Parameters

\Closure $maker

macro()

macro(string  $method, \Closure  $closure) : void

设置方法注入

Parameters

string $method
\Closure $closure

setDb()

setDb(\think\DbManager  $db) : void

设置Db对象

Parameters

\think\DbManager $db

Db对象

setInvoker()

setInvoker(callable  $callable) : void

设置容器对象的依赖注入方法

Parameters

callable $callable

依赖注入方法

invoke()

invoke(mixed  $method, array  $vars = []) : mixed

调用反射执行模型方法 支持参数绑定

Parameters

mixed $method
array $vars

参数

Returns

mixed —

__construct()

__construct(array  $data = []) : mixed

架构函数

Parameters

array $data

数据

Returns

mixed —

getName()

getName() : string

获取当前模型名称

Returns

string —

newInstance()

newInstance(array  $data = [], mixed  $where = null) : \think\Model

创建新的模型实例

Parameters

array $data

数据

mixed $where

更新条件

Returns

\think\Model —

setConnection()

setConnection(string  $connection) : $this

设置当前模型的数据库连接

Parameters

string $connection

数据表连接标识

Returns

$this —

getConnection()

getConnection() : string

获取当前模型的数据库连接标识

Returns

string —

setSuffix()

setSuffix(string  $suffix) : $this

设置当前模型数据表的后缀

Parameters

string $suffix

数据表后缀

Returns

$this —

getSuffix()

getSuffix() : string

获取当前模型的数据表后缀

Returns

string —

db()

db(array  $scope = []) : \think\db\BaseQuery

获取当前模型的数据库查询对象

Parameters

array $scope

设置不使用的全局查询范围

Returns

\think\db\BaseQuery —

force()

force(bool  $force = true) : $this

更新是否强制写入数据 而不做比较(亦可用于软删除的强制删除)

Parameters

bool $force

Returns

$this —

isForce()

isForce() : bool

判断force

Returns

bool —

replace()

replace(bool  $replace = true) : $this

新增数据是否使用Replace

Parameters

bool $replace

Returns

$this —

refresh()

refresh(bool  $relation = false) : $this

刷新模型数据

Parameters

bool $relation

是否刷新关联数据

Returns

$this —

exists()

exists(bool  $exists = true) : $this

设置数据是否存在

Parameters

bool $exists

Returns

$this —

isExists()

isExists() : bool

判断数据是否存在数据库

Returns

bool —

isEmpty()

isEmpty() : bool

判断模型是否为空

Returns

bool —

lazySave()

lazySave(array|bool  $data = []) : void

延迟保存当前数据对象

Parameters

array|bool $data

数据

save()

save(array  $data = [], string  $sequence = null) : bool

保存当前数据对象

Parameters

array $data

数据

string $sequence

自增序列名

Returns

bool —

getWhere()

getWhere() : mixed

获取当前的更新条件

Returns

mixed —

saveAll()

saveAll(iterable  $dataSet, bool  $replace = true) : \think\Collection

保存多个数据到当前数据对象

Parameters

iterable $dataSet

数据

bool $replace

是否自动识别更新和写入

Throws

\Exception

Returns

\think\Collection —

delete()

delete() : bool

删除当前的记录

Returns

bool —

create()

create(array  $data, array  $allowField = [], bool  $replace = false, string  $suffix = '') : static

写入数据

Parameters

array $data

数据数组

array $allowField

允许字段

bool $replace

使用Replace

string $suffix

数据表后缀

Returns

static —

update()

update(array  $data, mixed  $where = [], array  $allowField = [], string  $suffix = '') : static

更新数据

Parameters

array $data

数据数组

mixed $where

更新条件

array $allowField

允许字段

string $suffix

数据表后缀

Returns

static —

destroy()

destroy(mixed  $data, bool  $force = false) : bool

删除记录

Parameters

mixed $data

主键列表 支持闭包查询条件

bool $force

是否强制删除

Returns

bool —

__wakeup()

__wakeup() : mixed

解序列化后处理

Returns

mixed —

__set()

__set(string  $name, mixed  $value) : void

修改器 设置数据对象的值

Parameters

string $name

名称

mixed $value

__get()

__get(string  $name) : mixed

获取器 获取数据对象的值

Parameters

string $name

名称

Returns

mixed —

__isset()

__isset(string  $name) : bool

检测数据对象的值

Parameters

string $name

名称

Returns

bool —

__unset()

__unset(string  $name) : void

销毁数据对象的值

Parameters

string $name

名称

offsetSet()

offsetSet(mixed  $name, mixed  $value) : mixed

Parameters

mixed $name
mixed $value

Returns

mixed —

offsetExists()

offsetExists(mixed  $name) : bool

Parameters

mixed $name

Returns

bool —

offsetUnset()

offsetUnset(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

offsetGet()

offsetGet(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

withoutGlobalScope()

withoutGlobalScope(array  $scope = null) : \think\db\BaseQuery

设置不使用的全局查询范围

Parameters

array $scope

不启用的全局查询范围

Returns

\think\db\BaseQuery —

suffix()

suffix(string  $suffix) : \think\Model

切换后缀进行查询

Parameters

string $suffix

切换的表后缀

Returns

\think\Model —

connect()

connect(string  $connection) : \think\Model

切换数据库连接进行查询

Parameters

string $connection

数据库连接标识

Returns

\think\Model —

__call()

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

Parameters

mixed $method
mixed $args

Returns

mixed —

__callStatic()

__callStatic(mixed  $method, mixed  $args) : mixed

Parameters

mixed $method
mixed $args

Returns

mixed —

__destruct()

__destruct() : mixed

析构方法

Returns

mixed —

onAfterRead()

onAfterRead(\think\Model  $model) : void

static after_read事件定义

Parameters

\think\Model $model

onBeforeInsert()

onBeforeInsert(\think\Model  $model) : mixed

static before_insert事件定义

Parameters

\think\Model $model

Returns

mixed —

onAfterInsert()

onAfterInsert(\think\Model  $model) : void

static after_insert事件定义

Parameters

\think\Model $model

onBeforeUpdate()

onBeforeUpdate(\think\Model  $model) : mixed

static before_update事件定义

Parameters

\think\Model $model

Returns

mixed —

onAfterUpdate()

onAfterUpdate(\think\Model  $model) : void

static after_update事件定义

Parameters

\think\Model $model

onBeforeWrite()

onBeforeWrite(\think\Model  $model) : mixed

static before_write事件定义

Parameters

\think\Model $model

Returns

mixed —

onAfterWrite()

onAfterWrite(\think\Model  $model) : void

static after_write事件定义

Parameters

\think\Model $model

onBeforeDelete()

onBeforeDelete(\think\Model  $model) : mixed

static before_write事件定义

Parameters

\think\Model $model

Returns

mixed —

onAfterDelete()

onAfterDelete(\think\Model  $model) : void

static after_delete事件定义

Parameters

\think\Model $model

onBeforeRestore()

onBeforeRestore(\think\Model  $model) : void

static before_restore事件定义

Parameters

\think\Model $model

onAfterRestore()

onAfterRestore(\think\Model  $model) : void

static after_restore事件定义

Parameters

\think\Model $model

isPk()

isPk(string  $key) : bool

判断一个字段名是否为主键字段

Parameters

string $key

名称

Returns

bool —

getRealFieldName()

getRealFieldName(string  $name) : string

获取实际的字段名

Parameters

string $name

字段名

Returns

string —

writeTransform()

writeTransform(mixed  $value, string|array  $type) : mixed

数据写入 类型转换

Parameters

mixed $value

string|array $type

要转换的类型

Returns

mixed —

getValue()

getValue(string  $name, mixed  $value, bool|string  $relation = false) : mixed

获取经过获取器处理后的数据对象的值

Parameters

string $name

字段名称

mixed $value

字段值

bool|string $relation

是否为关联属性或者关联名

Throws

\InvalidArgumentException

Returns

mixed —

getJsonValue()

getJsonValue(string  $name, mixed  $value) : mixed

获取JSON字段属性值

Parameters

string $name

属性名

mixed $value

JSON数据

Returns

mixed —

getRelationValue()

getRelationValue(string  $relation) : mixed

获取关联属性值

Parameters

string $relation

关联名

Returns

mixed —

readTransform()

readTransform(mixed  $value, string|array  $type) : mixed

数据读取 类型转换

Parameters

mixed $value

string|array $type

要转换的类型

Returns

mixed —

parseModel()

parseModel(string  $model) : string

解析模型的完整命名空间

Parameters

string $model

模型名(或者完整类名)

Returns

string —

getForeignKey()

getForeignKey(string  $name) : string

获取模型的默认外键名

Parameters

string $name

模型名

Returns

string —

isRelationAttr()

isRelationAttr(string  $attr) : string|false

检查属性是否为关联属性 如果是则返回关联方法名

Parameters

string $attr

关联属性名

Returns

string|false —

getRelationData()

getRelationData(\think\model\Relation  $modelRelation) : mixed

智能获取关联模型数据

Parameters

\think\model\Relation $modelRelation

模型关联对象

Returns

mixed —

checkAutoRelationWrite()

checkAutoRelationWrite() : void

关联数据自动写入检查

autoRelationUpdate()

autoRelationUpdate() : void

自动关联数据更新(针对一对一关联)

autoRelationInsert()

autoRelationInsert() : void

自动关联数据写入(针对一对一关联)

autoRelationDelete()

autoRelationDelete() : void

自动关联数据删除(支持一对一及一对多关联)

trigger()

trigger(string  $event) : bool

触发事件

Parameters

string $event

事件名

Returns

bool —

checkTimeFieldType()

checkTimeFieldType(bool|string  $type) : mixed

检测时间字段的实际类型

Parameters

bool|string $type

Returns

mixed —

autoWriteTimestamp()

autoWriteTimestamp() : mixed

自动写入时间戳

Returns

mixed —

getTimeTypeValue()

getTimeTypeValue(string  $type) : mixed

获取指定类型的时间字段值

Parameters

string $type

时间字段类型

Returns

mixed —

formatDateTime()

formatDateTime(mixed  $format, mixed  $time = 'now', bool  $timestamp = false) : mixed

时间日期字段格式化处理

Parameters

mixed $format

日期格式

mixed $time

时间日期表达式

bool $timestamp

时间表达式是否为时间戳

Returns

mixed —

getTimestampValue()

getTimestampValue(mixed  $value) : mixed

获取时间字段值

Parameters

mixed $value

Returns

mixed —

appendAttrToArray()

appendAttrToArray(array  $item, mixed  $key, mixed  $name) : mixed

Parameters

array $item
mixed $key
mixed $name

Returns

mixed —

getBindAttr()

getBindAttr(string  $name, mixed  $value, array  $item = []) : mixed

Parameters

string $name
mixed $value
array $item

Returns

mixed —

setUpdateWhere()

setUpdateWhere(mixed  $where) : void

设置模型的更新条件

Parameters

mixed $where

更新条件

init()

init() : void

初始化处理

checkData()

checkData() : void

checkResult()

checkResult(mixed  $result) : void

Parameters

mixed $result

checkAllowFields()

checkAllowFields() : array

检查数据是否允许写入

Returns

array —

updateData()

updateData() : bool

保存写入数据

Returns

bool —

insertData()

insertData(string  $sequence = null) : bool

新增写入数据

Parameters

string $sequence

自增名

Returns

bool —

initialize()

initialize() : void

初始化模型