mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-09-02 21:41:36 +08:00
改进一对一关联预载入查询 支持使用IN方式 一对一关联类增加setEagerlyType方法用于设置预载入查询方式 默认为JOIN方式,setEagerlyType(1) 使用IN方式
Loader类的parseName方法增加第三个参数 用于驼峰法转换是否首字母大写
This commit is contained in:
@@ -414,7 +414,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
// 类型转换
|
||||
$value = $this->readTransform($value, $this->type[$name]);
|
||||
} elseif ($notFound) {
|
||||
$method = Loader::parseName($name, 1);
|
||||
$method = Loader::parseName($name, 1, false);
|
||||
if (method_exists($this, $method) && $this->$method() instanceof Relation) {
|
||||
// 不存在该字段 获取关联数据
|
||||
$value = $this->$method()->getRelation();
|
||||
@@ -1245,7 +1245,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
if (strpos($relation, '.')) {
|
||||
list($relation, $subRelation) = explode('.', $relation);
|
||||
}
|
||||
$relation = Loader::parseName($relation, 1);
|
||||
$relation = Loader::parseName($relation, 1, false);
|
||||
$this->$relation()->eagerlyResultSet($resultSet, $relation, $subRelation, $closure, $class);
|
||||
}
|
||||
}
|
||||
@@ -1272,7 +1272,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
if (strpos($relation, '.')) {
|
||||
list($relation, $subRelation) = explode('.', $relation);
|
||||
}
|
||||
$relation = Loader::parseName($relation, 1);
|
||||
$relation = Loader::parseName($relation, 1, false);
|
||||
$this->$relation()->eagerlyResult($result, $relation, $subRelation, $closure, $class);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user