mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 23:22:48 +08:00
废除 Model类的$fields['_pk'] 统一使用 $pk 属性
This commit is contained in:
@@ -1089,7 +1089,7 @@ class Model
|
|||||||
*/
|
*/
|
||||||
public function getPk()
|
public function getPk()
|
||||||
{
|
{
|
||||||
return isset($this->fields['_pk']) ? $this->fields['_pk'] : $this->pk;
|
return $this->pk;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1101,11 +1101,12 @@ class Model
|
|||||||
{
|
{
|
||||||
if ($this->fields) {
|
if ($this->fields) {
|
||||||
$fields = $this->fields;
|
$fields = $this->fields;
|
||||||
unset($fields['_pk'], $fields['_type']);
|
unset($fields['_type']);
|
||||||
return $fields;
|
return $fields;
|
||||||
} else {
|
} else {
|
||||||
$tableName = $this->getTableName();
|
$tableName = $this->getTableName();
|
||||||
$fields = Cache::get(md5($tableName));
|
$guid = md5($tableName);
|
||||||
|
$fields = Cache::get($guid);
|
||||||
if (!$fields) {
|
if (!$fields) {
|
||||||
$fields = $this->db->getFields($tableName);
|
$fields = $this->db->getFields($tableName);
|
||||||
$this->fields = array_keys($fields);
|
$this->fields = array_keys($fields);
|
||||||
@@ -1113,28 +1114,21 @@ class Model
|
|||||||
// 记录字段类型
|
// 记录字段类型
|
||||||
$type[$key] = $val['type'];
|
$type[$key] = $val['type'];
|
||||||
if (!empty($val['primary'])) {
|
if (!empty($val['primary'])) {
|
||||||
// 增加复合主键支持
|
$pk[] = $key;
|
||||||
if (!empty($this->fields['_pk'])) {
|
|
||||||
if (is_string($this->fields['_pk'])) {
|
|
||||||
$this->pk = [$this->fields['_pk']];
|
|
||||||
$this->fields['_pk'] = $this->pk;
|
|
||||||
}
|
|
||||||
$this->pk[] = $key;
|
|
||||||
$this->fields['_pk'][] = $key;
|
|
||||||
} else {
|
|
||||||
$this->pk = $key;
|
|
||||||
$this->fields['_pk'] = $key;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (isset($pk)) {
|
||||||
|
// 设置主键
|
||||||
|
$this->pk = count($pk) > 1 ? $pk : $pk[0];
|
||||||
|
}
|
||||||
// 记录字段类型信息
|
// 记录字段类型信息
|
||||||
$this->fields['_type'] = $type;
|
$this->fields['_type'] = $type;
|
||||||
Cache::set(md5($tableName), $this->fields);
|
Cache::set($guid, $this->fields);
|
||||||
$fields = $this->fields;
|
$fields = $this->fields;
|
||||||
} else {
|
} else {
|
||||||
$this->fields = $fields;
|
$this->fields = $fields;
|
||||||
}
|
}
|
||||||
unset($fields['_pk'], $fields['_type']);
|
unset($fields['_type']);
|
||||||
return $fields;
|
return $fields;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user