Constants

CREATED_AT

CREATED_AT = 'created_at'

UPDATED_AT

UPDATED_AT = 'updated_at'

DELETED_AT

DELETED_AT = 'deleted_at'

Properties

$incrementing

$incrementing : bool

指明模型的ID是否自动递增 (雪花算法不是自增).

Type

bool

$keyType

$keyType

主键类型

$dateFormat

$dateFormat : string

模型日期字段的存储格式 (时间戳).

Type

string

$casts

$casts

自动转换日期格式 让 created_at 和 updated_at 拿出来时自动变成 Carbon 对象, 配合 serializeDate 可以控制输出格式

$dynamicHidden

$dynamicHidden : array

动态隐藏字段

Type

array

$snowflake

$snowflake : ?\Framework\Utils\Snowflake

雪花算法实例

Type

Snowflake

Methods

bootBelongsToTenant()

bootBelongsToTenant() : mixed

Returns

mixed —

withoutTenancy()

withoutTenancy() : mixed

允许临时忽略租户限制(例如超级管理员后台查看所有数据)

Returns

mixed —

hidden()

hidden(array  $fields) : static

兼容 TP: 动态隐藏字段

Parameters

array $fields

Returns

static —

getData()

getData(string  $field) : mixed

兼容 TP: 获取数据

Parameters

string $field

Returns

mixed —

set()

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

兼容 TP: 设置数据

Parameters

string $name
mixed $value

getFields_1()

getFields_1() : array

获取表字段列表 (使用 Schema 门面,兼容性更好)

Returns

array —

getTable()

getTable() : string

Returns

string —

getTableName()

getTableName() : string

获取模型定义的数据库表名【全称】.

Returns

string —

getFields()

getFields() : array

获取模型的字段列表

Returns

array —

getPk()

getPk() : string

获取主键名称

Returns

string —

isSoftDeleteEnabled()

isSoftDeleteEnabled() : bool

是否开启软删

Returns

bool —

onAfterDelete()

onAfterDelete(\Illuminate\Database\Eloquent\Model  $model) : mixed

处理删除后的逻辑 (回收站)

Parameters

\Illuminate\Database\Eloquent\Model $model

Returns

mixed —

generateSnowflakeID()

generateSnowflakeID() : int

生成雪花ID

Returns

int —

boot()

boot() : mixed

Returns

mixed —

serializeDate()

serializeDate(\DateTimeInterface  $date) : mixed

准备日期序列化格式 (API返回JSON时会自动调用)

Parameters

\DateTimeInterface $date

Returns

mixed —

setCreatedBy()

setCreatedBy(\Illuminate\Database\Eloquent\Model  $model) : void

自动设置创建人

Parameters

\Illuminate\Database\Eloquent\Model $model

setUpdatedBy()

setUpdatedBy(\Illuminate\Database\Eloquent\Model  $model) : void

自动设置更新人

Parameters

\Illuminate\Database\Eloquent\Model $model