diff --git a/extend/catcher/generate/build/classes/Classes.php b/extend/catcher/generate/build/classes/Classes.php index 75c6388..6de7b16 100644 --- a/extend/catcher/generate/build/classes/Classes.php +++ b/extend/catcher/generate/build/classes/Classes.php @@ -97,4 +97,21 @@ class Classes return $this; } + + /** + * when + * + * @time 2020年11月19日 + * @param $condition + * @param \Closure $closure + * @return $this + */ + public function when($condition, \Closure $closure) + { + if ($condition) { + $closure($this); + } + + return $this; + } } diff --git a/extend/catcher/generate/factory/Model.php b/extend/catcher/generate/factory/Model.php index 64730a6..4f614aa 100644 --- a/extend/catcher/generate/factory/Model.php +++ b/extend/catcher/generate/factory/Model.php @@ -83,11 +83,13 @@ class Model extends Factory (new Property('name'))->default($table)->docComment('// 表名') ); - $class->addProperty( - (new Property('field'))->default( - (new Arr)->build(Db::getFields($table)) - )->docComment('// 数据库字段映射') - ); + $class->when($this->hasTableExists($table), function ($class) use ($table){ + $class->addProperty( + (new Property('field'))->default( + (new Arr)->build(Db::getFields($table)) + ))->docComment('// 数据库字段映射'); + }); + })->getContent(); } } \ No newline at end of file