diff --git a/config/models.php b/config/models.php index c5b09cd..8e4d387 100644 --- a/config/models.php +++ b/config/models.php @@ -416,6 +416,17 @@ 'override_pluralize_for' => [ ], + + /* + |-------------------------------------------------------------------------- + | Move $hidden property to base files + |-------------------------------------------------------------------------- + | When base_files is true you can set hidden_in_base_files to true + | if you want the $hidden to be generated in base files + | + */ + 'hidden_in_base_files' => false, + /* |-------------------------------------------------------------------------- | Move $fillable property to base files diff --git a/src/Coders/Model/Factory.php b/src/Coders/Model/Factory.php index ff1dc3f..08003bd 100644 --- a/src/Coders/Model/Factory.php +++ b/src/Coders/Model/Factory.php @@ -459,7 +459,7 @@ protected function body(Model $model) $body .= $this->class->field('casts', $model->getCasts(), ['before' => "\n"]); } - if ($model->hasHidden() && $model->doesNotUseBaseFiles()) { + if ($model->hasHidden() && ($model->doesNotUseBaseFiles() || $model->hiddenInBaseFiles())) { $body .= $this->class->field('hidden', $model->getHidden(), ['before' => "\n"]); } @@ -575,7 +575,7 @@ protected function userFileBody(Model $model) { $body = ''; - if ($model->hasHidden()) { + if ($model->hasHidden() && !$model->hiddenInBaseFiles()) { $body .= $this->class->field('hidden', $model->getHidden()); } diff --git a/src/Coders/Model/Model.php b/src/Coders/Model/Model.php index cedc834..018d7f3 100644 --- a/src/Coders/Model/Model.php +++ b/src/Coders/Model/Model.php @@ -1253,6 +1253,14 @@ public function fillableInBaseFiles(): bool return $this->config('fillable_in_base_files', false); } + /** + * @return bool + */ + public function hiddenInBaseFiles(): bool + { + return $this->config('hidden_in_base_files', false); + } + /** * @return bool */