改名
This commit is contained in:
@@ -235,14 +235,7 @@ class ActiveQuery extends Component implements ISqlBuilder
|
||||
if (empty($this->with) || !is_array($this->with)) {
|
||||
return $model;
|
||||
}
|
||||
foreach ($this->with as $val) {
|
||||
$method = 'get' . ucfirst($val);
|
||||
if (!method_exists($model, $method)) {
|
||||
continue;
|
||||
}
|
||||
$model->setRelate($val, $method);
|
||||
}
|
||||
return $model;
|
||||
return $model->setWith($this->with);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -245,7 +245,7 @@ class ActiveRecord extends BaseActiveRecord
|
||||
*/
|
||||
private function resolveObject($method): mixed
|
||||
{
|
||||
$resolve = $this->$method();
|
||||
$resolve = $this->{$this->getRelate($method)}();
|
||||
if ($resolve instanceof HasBase) {
|
||||
$resolve = $resolve->get();
|
||||
}
|
||||
@@ -296,11 +296,11 @@ class ActiveRecord extends BaseActiveRecord
|
||||
private function runRelate(): array
|
||||
{
|
||||
$relates = [];
|
||||
if (empty($this->_relate)) {
|
||||
if (empty($this->_with)) {
|
||||
return $relates;
|
||||
}
|
||||
foreach ($this->_relate as $key => $val) {
|
||||
$relates[$key] = $this->resolveObject($val);
|
||||
foreach ($this->_with as $val) {
|
||||
$relates[$val] = $this->resolveObject($val);
|
||||
}
|
||||
return $relates;
|
||||
}
|
||||
|
||||
@@ -143,6 +143,17 @@ abstract class BaseActiveRecord extends Component implements IOrm, ArrayAccess
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @return BaseActiveRecord
|
||||
*/
|
||||
public function setWith($data): static
|
||||
{
|
||||
$this->_with = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $name
|
||||
* @param $method
|
||||
|
||||
Reference in New Issue
Block a user