This commit is contained in:
2023-04-11 11:28:05 +08:00
parent 2b353afc69
commit 65e0c84b65
+6 -18
View File
@@ -152,19 +152,13 @@ use Database\Model;
if ($field['Type'] === 'json') { if ($field['Type'] === 'json') {
$function = ' $function = '
/** /**
* @param $value * @param string|null $value
* @return int|bool|string * @return int|bool|string
* @throws Exception * @throws Exception
*/ */
public function set' . ucfirst($field['Field']) . 'Attribute($value): int|bool|string public function set' . ucfirst($field['Field']) . 'Attribute(?array $value): int|bool|string
{ {
if (empty($value) || is_numeric($value)) { return \json_encode($value, JSON_UNESCAPED_UNICODE);
return $value;
}
if ( !is_string($value) ) {
return JSON::encode($value);
}
return $value;
} }
'; ';
@@ -173,15 +167,9 @@ use Database\Model;
* @param $value * @param $value
* @return array|null|bool * @return array|null|bool
*/ */
public function get' . ucfirst($field['Field']) . 'Attribute($value): array|null|bool public function get' . ucfirst($field['Field']) . 'Attribute(?string $value): array|null|bool
{ {
if (empty($value) || is_numeric($value)) { return \json_decode($value, true);
return $value;
}
if ( is_string($value) ) {
return JSON::decode($value, true);
}
return $value;
} }
'; ';
@@ -344,7 +332,7 @@ use Database\Model;
foreach ($val as $_key => $_val) { foreach ($val as $_key => $_val) {
if ($_val['Extra'] == 'auto_increment') continue; if ($_val['Extra'] == 'auto_increment') continue;
if ($_val['Key'] == 'PRI' || $_val['Key'] == 'UNI' || $this->checkIsRequired($_val) === 'true') { if ($_val['Key'] == 'PRI' || $_val['Key'] == 'UNI' || $this->checkIsRequired($_val) === 'true') {
array_push($data, $_val['Field']); $data[] = $_val['Field'];
} }
} }
if (empty($data)) { if (empty($data)) {