【2022/01/31】thinkphp源码无差别阅读(三十四)

thinkphp源码无差别阅读(三十四)

ORM阅读

model/relation/MorphOne.php

  • 属性:morphKey、morphType、type、bindAttr
  • 构造方法:__construct
  • 延迟获取关联数据:getRelation
  • 根据关联条件查询当前模型:has
  • 根据关联条件查询当前模型:hasWhere
  • 预载于关联查询:eagerlyResultSet
  • 预载于关联查询:eagerlyResult
  • 预载于关联查询:eagerlyMorphToOne
  • 保存:save
  • 创建关联对象实例:make
  • 基础查询:baseQuery
  • 绑定属性:bind
  • 获取绑定属性:getBindAttr
  • 绑定属性:bindAttr

model/relation/MorphTo.php

  • 属性:morphKey、morphType、alias、relation
  • 构造方法:__construct
  • 获取当前关联模型类实例:getModel
  • 延迟获取关联数据:getRelation
  • 根据关联条件查询当前模型:has
  • 根据关联条件查询当前模型:hasWhere
  • 解析模型完整命名空间:parseModel
  • 设置多态别名:setAlias
  • 移除关联查询参数:removeOption
  • 预载于关联查询:eagerlyResultSet
  • 预载于关联查询:eagerlyResult
  • 关联统计:relationCount
  • 预载于关联查询:eagerlyMorphToOne
  • 添加关联数据:associate
  • 注销关联数据:dissociate

model/relation/MorphToMany.php

  • 属性:morphType、morphClass、inverse
  • 构造方法:__construct
  • 预载于关联查询:eagerlyResultSet
  • 预载于关联查询:eagerlyResult
  • 关联统计:relationCount
  • 获取关联统计子查询:getRelationCountQuery
  • 关联查询:belongsToManyQuery
  • 预载于关联查询:eagerlyManyToMany
  • 附加关联的一个中间表数据:attach
  • 判断是否存在关联数据:attached
  • 解除关联的一个中间表数据:detach
  • 数据同步:sync
  • 基础查询:baseQuery

计划阅读

[ ] framework源码
[ ] orm源码
[ ] helper源码

你可能感兴趣的:(thinkphp)