diff --git a/extend/catcher/generate/Generator.php b/extend/catcher/generate/Generator.php index bafd572..bbcb347 100644 --- a/extend/catcher/generate/Generator.php +++ b/extend/catcher/generate/Generator.php @@ -11,7 +11,6 @@ use catcher\generate\factory\SQL; use catcher\generate\support\Table; use catcher\library\Composer; use catcher\Utils; -use think\facade\Db; class Generator { @@ -45,7 +44,6 @@ class Generator $files = []; $migration = ''; - $table = null; try { if ($params['create_controller']) { diff --git a/extend/catcher/generate/factory/Model.php b/extend/catcher/generate/factory/Model.php index b343899..9d40ac8 100644 --- a/extend/catcher/generate/factory/Model.php +++ b/extend/catcher/generate/factory/Model.php @@ -72,7 +72,9 @@ class Model extends Factory $build->use((new Uses())->name(BaseOptionsTrait::class)); $build->use((new Uses())->name(ScopeTrait::class)); }) - ->class((new Classes($modelName))->extend('Model')->docComment(), + ->class((new Classes($modelName)) + ->extend('Model') + ->docComment($this->buildClassComment($table)), function (Classes $class) use ($softDelete, $table) { if (!$softDelete) { $class->addTrait( @@ -94,4 +96,26 @@ class Model extends Factory }); })->getContent(); } -} \ No newline at end of file + + /** + * 提供模型字段属性提示 + * + * @time 2021年04月27日 + * @param $table + * @return string + */ + protected function buildClassComment($table): string + { + $fields = Db::name($table)->getFieldsType(); + + $comment = '/**' . PHP_EOL . ' *' . PHP_EOL; + + foreach ($fields as $field => $type) { + $comment .= sprintf(' * @property %s $%s', $type, $field) . PHP_EOL; + } + + $comment .= ' */'; + + return $comment; + } +}