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.
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'),
];
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', ...]
The MIT License (MIT). Please see License File for more information.