$eagerlyType
$eagerlyType :
Class OneToOne
$model : \think\Model
$query : \think\db\Query
eagerly(\think\db\Query $query, string $relation, string $subRelation, \Closure $closure, boolean $first) : void
预载入关联查询(JOIN方式)
\think\db\Query | $query | 查询对象 |
string | $relation | 关联名 |
string | $subRelation | 子关联 |
\Closure | $closure | 闭包条件 |
boolean | $first |
eagerlyResult(\think\Model $result, string $relation, string $subRelation, \Closure $closure) : void
预载入关联查询(数据)
\think\Model | $result | 数据对象 |
string | $relation | 当前关联名 |
string | $subRelation | 子关联名 |
\Closure | $closure | 闭包 |
save(mixed $data) : \think\Model|false
保存(新增)当前关联数据对象
mixed | $data | 数据 可以使用数组 关联模型对象 和 关联对象的主键 |
relationCount(\think\Model $result, \Closure $closure) : integer
关联统计
\think\Model | $result | 数据对象 |
\Closure | $closure | 闭包 |
getParent() : \think\Model
获取关联的所属模型
getQuery() : \think\db\Query
获取关联的查询对象
__construct(\think\Model $parent, string $model, string $foreignKey, string $localKey, string $joinType = 'INNER', string $relation = null)
构造函数
\think\Model | $parent | 上级模型对象 |
string | $model | 模型名 |
string | $foreignKey | 关联外键 |
string | $localKey | 关联主键 |
string | $joinType | JOIN类型 |
string | $relation | 关联名 |
getRelation(string $subRelation = '', \Closure $closure = null) : array|false|\PDOStatement|string|\think\Model
延迟获取关联数据
string | $subRelation | 子关联名 |
\Closure | $closure | 闭包查询条件 |
has(string $operator = '>=', integer $count = 1, string $id = '*') : \think\db\Query
根据关联条件查询当前模型
string | $operator | 比较操作符 |
integer | $count | 个数 |
string | $id | 关联表的统计字段 |
hasWhere(mixed $where = array()) : \think\db\Query
根据关联条件查询当前模型
mixed | $where | 查询条件(数组或者闭包) |
associate(\think\Model $model) : \think\Model
添加关联数据
\think\Model | $model | 关联模型对象 |
dissociate() : \think\Model
注销关联数据
eagerlyOne(\think\Model $result, string $relation, string $subRelation, \Closure $closure) : void
预载入关联查询(数据)
\think\Model | $result | 数据对象 |
string | $relation | 当前关联名 |
string | $subRelation | 子关联名 |
\Closure | $closure | 闭包 |
match(string $model, string $relation, \think\Model $result) : void
一对一 关联模型预查询拼装
string | $model | 模型名称 |
string | $relation | 关联名 |
\think\Model | $result | 模型对象实例 |
bindAttr(\think\Model $model, \think\Model $result, array $bindAttr) : void
绑定关联属性到父模型
\think\Model | $model | 关联模型对象 |
\think\Model | $result | 父模型对象 |
array | $bindAttr | 绑定属性 |
eagerlyWhere(object $model, array $where, string $key, string $relation, string $subRelation = '', boolean|\Closure $closure = false) : array
一对一 关联模型预查询(IN方式)
object | $model | 关联模型对象 |
array | $where | 关联预查询条件 |
string | $key | 关联键名 |
string | $relation | 关联名 |
string | $subRelation | 子关联 |
boolean|\Closure | $closure |