Query类relation支持嵌套关联

This commit is contained in:
thinkphp
2017-01-16 15:52:21 +08:00
parent 00136a3f4b
commit 47a869f3af
8 changed files with 27 additions and 17 deletions

View File

@@ -46,10 +46,11 @@ class BelongsToMany extends Relation
/**
* 延迟获取关联数据
* @param string $subRelation 子关联名
* @param \Closure $closure 闭包查询条件
* @access public
*/
public function getRelation($closure = null)
public function getRelation($subRelation = '', $closure = null)
{
$foreignKey = $this->foreignKey;
$localKey = $this->localKey;
@@ -60,7 +61,7 @@ class BelongsToMany extends Relation
// 关联查询
$pk = $this->parent->getPk();
$condition['pivot.' . $localKey] = $this->parent->$pk;
$result = $this->belongsToManyQuery($middle, $foreignKey, $localKey, $condition)->select();
$result = $this->belongsToManyQuery($middle, $foreignKey, $localKey, $condition)->relation($subRelation)->select();
foreach ($result as $set) {
$pivot = [];
foreach ($set->getData() as $key => $val) {