Skip to content

Get table field information adding only a trait to the model. Supports caching

License

Notifications You must be signed in to change notification settings

xso2l/laravel-table-structure

 
 

Repository files navigation

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.

About

Get table field information adding only a trait to the model. Supports caching

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%