LaravelPackages.net
Acme Inc.
Toggle sidebar
nonetallt/laravel-autoschema

Generate markdown file describing all your laravel application models and their attributes.

16
0
1.0.0
About nonetallt/laravel-autoschema

nonetallt/laravel-autoschema is a Laravel package for generate markdown file describing all your laravel application models and their attributes.. It currently has 0 GitHub stars and 16 downloads on Packagist (latest version 1.0.0). Install it with composer require nonetallt/laravel-autoschema. Discover more Laravel packages by nonetallt or browse all Laravel packages to compare alternatives.

Last updated

laravel-autoschema

Generate markdown file describing all your laravel application models and their attributes. The schema can be used as a reference for both front- and back-end developers to keep track of properties that should or should not exist for a given model.

Example output

Installation

composer require nonetallt/laravel-autoschema --dev

Basic usage

php artisan schema:create

Properties

Attribute

The name of the attribute (usually column name).

Computed

Properties that have an accessor (getXAttribute) defined but no column in database are considered computed properties.

Fillable

Is the attribute mass assignable.

Relation

Is the attribute a method describing a relation.

Serialized

Is the attribute present after the object is serialized (to array or json). n/a for relations since it's not possible to know wether the object is loaded with a relation by static analysis. Useful for front-end developers since objects are serialized for responses.

Managing relations

Unfortunately, unlike the other properties, relations for models can't be easily distinguished by method signature or framework alone. To list your relations in the model you need to use @relation annotation in the relation method docblock.

/**
* @relation
*/
public function addresses()
{
    return $this->hasMany('App\Address', 'address_list_name', 'name');
}

Configuration

Publishing the configuration file

php artisan vendor:publish --provider="Nonetallt\LaravelAutoschema\AutoschemaServiceProvider"

Available options

  • output_path
  • model_directory
  • model_namespace
  • yes_string
  • no_string
  • print_table_name

Star History Chart