vicenterusso/laravel-table-structure

This is my package TableStructure

Downloads

89

Stars

0

Version

v0.0.1

Laravel Table Structure

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status

This package helps you to get information about your table fields adding only a trait to your model. You can also optionally cache the results.

Installation

You can install the package via composer:

composer require vicenterusso/laravel_table_structure

You can publish the config file with:

php artisan vendor:publish --provider="VRusso\TableStructure\TableStructureServiceProvider" --tag="laravel_table_structure-config"

This is the contents of the published config file:

return [

    /*
    |--------------------------------------------------------------------------
    | Enable Cache
    |--------------------------------------------------------------------------
    |
    | Enable or disable usage of cache for Schema queries.
    |
    */
    'use_cache' => false,

    /*
    |--------------------------------------------------------------------------
    | Cache Prefix
    |--------------------------------------------------------------------------
    |
    | Custom prefix for cache keys. Avoid empty values
    |
    */
    'cache_prefix' => env('TABLE_STRUCT_PREFIX', 'TABLE_STRUCT'),

];

Usage

Insert the following trait to any model, and you can retrieve all info about the table fields

# Add trait to model
use \VRusso\TableStructure\Traits\FieldsInfo;

# Call it anywhere
User::hasField('username'); 
//true/false

User::getAllFields();
//['username', 'password', ...]

User::getAllFieldsWithTypes();
//[
//    [
//    'field' => 'username',
//    'type' => 'string'
//    ],
//    (...)
//]

User::getAllFieldsWithTypeOf('integer');
//['id', ...]

Credits

License

The MIT License (MIT). Please see License File for more information.

vicenterusso

Author

vicenterusso