• 欢迎光临~

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

开发技术 开发技术 2022-01-31 116次浏览

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

【2022/01/31】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源码

程序员灯塔
转载请注明原文链接:【2022/01/31】thinkphp源码无差别阅读(三十四)
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com