增加关联统计功能

This commit is contained in:
thinkphp
2016-12-22 12:22:44 +08:00
parent 83c13a741c
commit cd57d97f36
5 changed files with 108 additions and 1 deletions

View File

@@ -116,6 +116,29 @@ class MorphMany extends Relation
}
}
/**
* 关联统计
* @access public
* @param Model $result 数据对象
* @param \Closure $closure 闭包
* @return integer
*/
public function relationCount($result, $closure)
{
$morphType = $this->morphType;
$morphKey = $this->morphKey;
$type = $this->type;
$pk = $result->getPk();
$count = 0;
if (isset($result->$pk)) {
if ($closure) {
call_user_func_array($closure, [ & $this->query]);
}
$count = $this->query->where([$morphKey => $result->$pk, $morphType => $type])->count();
}
return $count;
}
/**
* 多态一对多 关联模型预查询
* @access public