From 21c1df4f699f4c322d513a5abd520f630c20024c Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Thu, 19 Nov 2020 19:11:18 +0800 Subject: [PATCH] =?UTF-8?q?update:class=E5=A2=9E=E5=8A=A0when=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../catcher/generate/build/classes/Classes.php | 17 +++++++++++++++++ extend/catcher/generate/factory/Model.php | 12 +++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) 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