改进关联查询预载入 支持闭包使用条件之外的连贯操作

This commit is contained in:
thinkphp
2016-09-11 12:20:15 +08:00
parent b7f38230b1
commit 739f8bef18
2 changed files with 5 additions and 2 deletions

View File

@@ -94,7 +94,7 @@ abstract class Builder
if ($options['strict']) {
throw new Exception('fields not exists:[' . $key . ']');
}
} else if (isset($val[0]) && 'exp' == $val[0]) {
} elseif (isset($val[0]) && 'exp' == $val[0]) {
$result[$item] = $val[1];
} elseif (is_null($val)) {
$result[$item] = 'NULL';

View File

@@ -339,7 +339,10 @@ class Relation
{
$foreignKey = $this->foreignKey;
// 预载入关联查询 支持嵌套预载入
$list = $model->where($where)->where($closure)->with($subRelation)->select();
if ($closure) {
call_user_func_array($closure, [ & $model]);
}
$list = $model->where($where)->with($subRelation)->select();
// 组装模型数据
$data = [];