关联定义支持在关联方法中使用field获取指定查询字段

This commit is contained in:
thinkphp
2016-11-09 16:01:59 +08:00
parent ec59e7f8af
commit 3935ed5915
2 changed files with 7 additions and 1 deletions

View File

@@ -1615,6 +1615,8 @@ class Query
$field = $this->options['with_field'];
unset($this->options['with_field']);
}
} elseif (isset($info['option']['field'])) {
$field = $info['option']['field'];
}
$this->field($field, false, $joinTable, $joinAlias, $relation . '__');
$i++;

View File

@@ -47,7 +47,8 @@ class Relation
protected $query;
// 关联查询条件
protected $where;
// 关联查询参数
protected $option;
/**
* 架构函数
* @access public
@@ -74,6 +75,7 @@ class Relation
'localKey' => $this->localKey,
'alias' => $this->alias,
'joinType' => $this->joinType,
'option' => $this->option,
];
return $name ? $info[$name] : $info;
}
@@ -689,8 +691,10 @@ class Relation
}
$result = call_user_func_array([$this->query, $method], $args);
if ($result instanceof \think\db\Query) {
$this->option = $result->getOptions();
return $this;
} else {
$this->option = [];
return $result;
}
} else {