mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-06 15:02:47 +08:00
改进多对多关联
This commit is contained in:
@@ -2130,14 +2130,23 @@ class Query
|
||||
$this->field('*');
|
||||
}
|
||||
foreach ($relations as $key => $relation) {
|
||||
$closure = false;
|
||||
$closure = $name = null;
|
||||
if ($relation instanceof \Closure) {
|
||||
$closure = $relation;
|
||||
$relation = $key;
|
||||
} elseif (!is_int($key)) {
|
||||
$name = $relation;
|
||||
$relation = $key;
|
||||
}
|
||||
$relation = Loader::parseName($relation, 1, false);
|
||||
$count = '(' . $this->model->$relation()->getRelationCountQuery($closure) . ')';
|
||||
$this->field([$count => Loader::parseName($relation) . '_count']);
|
||||
|
||||
$count = '(' . $this->model->$relation()->getRelationCountQuery($closure, $name) . ')';
|
||||
|
||||
if (empty($name)) {
|
||||
$name = Loader::parseName($relation) . '_count';
|
||||
}
|
||||
|
||||
$this->field([$count => $name]);
|
||||
}
|
||||
}
|
||||
return $this;
|
||||
|
||||
Reference in New Issue
Block a user