Looking to hire Laravel developers? Try LaraJobs

laravel-table-structure maintained by vicenterusso

Description
This is my package TableStructure
Author
Last update
2021/04/20 18:04 (dev-master)
License
Downloads
91

Comments
comments powered by Disqus

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.