Model
public abstract class Model
Constructor Summary | |
---|---|
void | __construct(array|object data) 架构函数 |
Method Summary | |
---|---|
Query | db(bool baseQuery) 获取当前模型的数据库查询对象 |
protected Relation|Query | relation(string|array relation) 获取关联模型实例 |
protected void | 初始化模型 |
protected static void | init() 初始化处理 |
$this | data(mixed data, mixed value) 设置数据对象值 |
mixed | getData(string name) 获取对象原始数据 如果不存在指定字段返回false |
$this | setAttr(string name, mixed value, array data) 修改器 设置数据对象值 |
protected mixed | autoWriteTimestamp(string name) 自动写入时间戳 |
protected mixed | writeTransform(mixed value, string|array type) 数据写入 类型转换 |
mixed | getAttr(string name) 获取器 获取数据对象的值 |
protected mixed | readTransform(mixed value, string|array type) 数据读取 类型转换 |
$this | append(array append) 设置需要追加的输出属性 |
$this | hidden(array hidden) 设置需要隐藏的输出属性 |
$this | visible(array visible) 设置需要输出的属性 |
array | toArray() 转换当前模型对象为数组 |
string | toJson(integer options) 转换当前模型对象为JSON字符串 |
mixed | getPk(string name) 获取模型对象的主键 |
protected bool | isPk(string key) 判断一个字段名是否为主键字段 |
integer|false | save(array data, array where, string sequence) 保存当前数据对象 |
array|false | saveAll(array dataSet, boolean replace) 保存多个数据到当前数据对象 |
$this | allowField(bool|array field) 设置允许写入的字段 |
$this | isUpdate(bool update, mixed where) 是否为更新数据 |
protected void | autoCompleteData(array auto) 数据自动完成 |
integer | delete() 删除当前的记录 |
$this | auto(array fields) 设置自动完成的字段( 规则通过修改器定义) |
$this | validate(array|string|bool rule, array msg) 设置字段验证 |
$this | validateFailException(bool fail) 设置验证失败后是否抛出异常 |
protected bool | validateData(array data) 自动验证数据 |
string | getError() 返回模型的错误信息 |
static void | event(string event, callable callback, bool override) 注册回调方法 |
protected bool | trigger(string event, mixed params) 触发事件 |
static $this | create(array data) 写入数据 |
static $this | update(array data, array where) 更新数据 |
static static | get(mixed data, array|string with, bool cache) 查找单条记录 |
static static[]|false | all(mixed data, array|string with, bool cache) 查找所有记录 |
protected static Query | parseQuery(mixed data, string with, bool cache) 分析查询表达式 |
static integer | destroy(mixed data) 删除记录 |
static Model | scope(string|array|Closure name, mixed ...$params) 命名范围 |
static Model | useGlobalScope(bool use) 设置是否使用全局查询范围 |
static Model | has(string relation, string operator, integer count, string id) 根据关联条件查询当前模型 |
static Model | hasWhere(string relation, mixed where) 根据关联条件查询当前模型 |
protected static string | parseModel(string model) 解析模型的完整命名空间 |
$this | relationQuery(string|array relations) 查询当前模型的关联数据 |
array | eagerlyResultSet(array resultSet, string relation) 预载入关联查询 返回数据集 |
Model | eagerlyResult(Model result, string relation) 预载入关联查询 返回模型对象 |
Relation | hasOne(string model, string foreignKey, string localKey, array alias, string joinType) HAS ONE 关联定义 |
Relation | belongsTo(string model, string foreignKey, string otherKey, array alias, string joinType) BELONGS TO 关联定义 |
Relation | hasMany(string model, string foreignKey, string localKey, array alias) HAS MANY 关联定义 |
Relation | hasManyThrough(string model, string through, string foreignKey, string throughKey, string localKey, array alias) HAS MANY 远程关联定义 |
Relation | belongsToMany(string model, string table, string foreignKey, string localKey, array alias) BELONGS TO MANY 关联定义 |
protected static void | getDb() |
void | |
void | offsetSet(mixed name, mixed value) |
void | offsetExists(mixed name) |
void | offsetUnset(mixed name) |
void | offsetGet(mixed name) |
public void __construct(array|object data)
架构函数
public Query db(bool baseQuery)
获取当前模型的数据库查询对象
protected Relation|Query relation(string|array relation)
获取关联模型实例
protected void initialize()
初始化模型
protected static void init()
初始化处理
public $this data(mixed data, mixed value)
设置数据对象值
public mixed getData(string name)
获取对象原始数据 如果不存在指定字段返回false
public $this setAttr(string name, mixed value, array data)
修改器 设置数据对象值
protected mixed autoWriteTimestamp(string name)
自动写入时间戳
protected mixed writeTransform(mixed value, string|array type)
数据写入 类型转换
public mixed getAttr(string name)
获取器 获取数据对象的值
protected mixed readTransform(mixed value, string|array type)
数据读取 类型转换
public $this append(array append)
设置需要追加的输出属性
public $this hidden(array hidden)
设置需要隐藏的输出属性
public $this visible(array visible)
设置需要输出的属性
public array toArray()
转换当前模型对象为数组
public string toJson(integer options)
转换当前模型对象为JSON字符串
public mixed getPk(string name)
获取模型对象的主键
protected bool isPk(string key)
判断一个字段名是否为主键字段
public integer|false save(array data, array where, string sequence)
保存当前数据对象
public array|false saveAll(array dataSet, boolean replace)
保存多个数据到当前数据对象
public $this allowField(bool|array field)
设置允许写入的字段
public $this isUpdate(bool update, mixed where)
是否为更新数据
protected void autoCompleteData(array auto)
数据自动完成
public integer delete()
删除当前的记录
public $this auto(array fields)
设置自动完成的字段( 规则通过修改器定义)
public $this validate(array|string|bool rule, array msg)
设置字段验证
public $this validateFailException(bool fail)
设置验证失败后是否抛出异常
protected bool validateData(array data)
自动验证数据
public string getError()
返回模型的错误信息
public static void event(string event, callable callback, bool override)
注册回调方法
protected bool trigger(string event, mixed params)
触发事件
public static $this create(array data)
写入数据
public static $this update(array data, array where)
更新数据
public static static get(mixed data, array|string with, bool cache)
查找单条记录
public static static[]|false all(mixed data, array|string with, bool cache)
查找所有记录
protected static Query parseQuery(mixed data, string with, bool cache)
分析查询表达式
public static integer destroy(mixed data)
删除记录
public static Model scope(string|array|Closure name, mixed ...$params)
命名范围
public static Model useGlobalScope(bool use)
设置是否使用全局查询范围
public static Model has(string relation, string operator, integer count, string id)
根据关联条件查询当前模型
public static Model hasWhere(string relation, mixed where)
根据关联条件查询当前模型
protected static string parseModel(string model)
解析模型的完整命名空间
public $this relationQuery(string|array relations)
查询当前模型的关联数据
public array eagerlyResultSet(array resultSet, string relation)
预载入关联查询 返回数据集
public Model eagerlyResult(Model result, string relation)
预载入关联查询 返回模型对象
public Relation hasOne(string model, string foreignKey, string localKey, array alias, string joinType)
HAS ONE 关联定义
public Relation belongsTo(string model, string foreignKey, string otherKey, array alias, string joinType)
BELONGS TO 关联定义
public Relation hasMany(string model, string foreignKey, string localKey, array alias)
HAS MANY 关联定义
public Relation hasManyThrough(string model, string through, string foreignKey, string throughKey, string localKey, array alias)
HAS MANY 远程关联定义
public Relation belongsToMany(string model, string table, string foreignKey, string localKey, array alias)
BELONGS TO MANY 关联定义
protected static void getDb()
public void jsonSerialize()
public void offsetSet(mixed name, mixed value)
public void offsetExists(mixed name)
public void offsetUnset(mixed name)
public void offsetGet(mixed name)
Class Model