diff --git a/application/admin/command/Crud.php b/application/admin/command/Crud.php index 390cb953df717ac12b3887caaea4ec68ebdce061..601479fabcd80a79f4541108a77e8234c23006d4 100755 --- a/application/admin/command/Crud.php +++ b/application/admin/command/Crud.php @@ -751,6 +751,15 @@ class Crud extends Command $cssClassArr = ['form-control']; $fieldName = "row[{$field}]"; $defaultValue = $v['COLUMN_DEFAULT']; + + // 从数据库中获取表字段信息(mysql 10.4.25-MariaDB)中的默认数据两端会加上两个单引号,两个单引号需要清除掉,否则 + // 在生成add.html时默认数据全部多单引号,并且js无法解析正确的默认值导致单选框、多选框勾选错误。 + if (is_string($defaultValue) && strlen($defaultValue) >= 2) { + if (substr($defaultValue, 0, 1) === "'" && substr($defaultValue, -1) === "'") { + $defaultValue = substr($defaultValue, 1, -1); + } + } + $editValue = "{\$row.{$field}|htmlentities}"; // 如果默认值非null,则是一个必选项 if ($v['IS_NULLABLE'] == 'NO') {