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

ORM阅读

model/concern/BelongsToMany.php

  • 属性:middle、pivotName、pivot、pivotDataName
  • 构造方法:__construct
  • 设置中间表模型:pivot
  • 设置中间表数据名称:name
  • 实例化中间模型;newPivot
  • 合成中间表模型:hydratePivot
  • 延迟获取关联数据:getRelation
  • 重载select:select
  • 重载paginate:paginate
  • 重载find:find
  • 根据关联条件查询当前模型:has
  • 根据关联条件查询当前模型:hasWhere
  • 设置中间表查询条件:wherePivot
  • 预载于关联查询:eagerlyResultSet
  • 预载于关联查询:eagerlyResult
  • 关联统计:relationCount
  • 获取关联统计子查询:getRelationCountQuery
  • 关联模型预查询:eagerlyManyToMany
  • 关联查询:belongsToManyQuery
  • 保存:save
  • 批量保存:saveAll
  • 附加关联的一个中间表数据:attach
  • 判断是否存在关联数据:attached
  • 解除关联的一个中间表数据:detach
  • 数据同步:sync
  • 基础查询:baseQuery

model/concern/HasMany.php

  • 构造方法:__construct
  • 延迟获取关联数据:getRelation
  • 预载于关联查询:eagerlyResultSet
  • 预载于关联查询:eagerlyResult
  • 关联统计:relationCount
  • 关联统计子查询:getRelationCountQuery
  • 关联预查询:eagerlyOneToMany
  • 保存:save
  • 创建关联对象实例:make
  • 批量保存:saveAll
  • 根据关联条件查询当前模型:has
  • 根据关联条件查询当前模型:hasWhere
  • 基础查询:baseQuery

计划阅读

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

03-05 23:28