sukohi / quick-dict
A Laravel package for create migration and seeder from key-value data.
Requires
- laravel/framework: ~5.0
This package is not auto-updated.
Last update: 2024-12-22 07:22:45 UTC
README
A Laravel package for create migration and seeder from key-value data. (This is maintained under Laravel 5.6)
Installation
Execute composer command.
composer require sukohi/quick-dict:1.*
And publish a configuration file.
php artisan vendor:publish --provider="Sukohi\QuickDict\QuickDictServiceProvider"
Now you should have quick-dict.php
in /config
.
Usage
Please add key-value data in quick-dict.php
like so.
return [
'months' => [
1 => 'January',
2 => 'February',
3 => 'March',
4 => 'April',
5 => 'May',
6 => 'June',
7 => 'July',
8 => 'August',
9 => 'September',
10 => 'October',
11 => 'November',
12 => 'December'
]
]
Then run the next command to add the data into DB.
php artisan dict
This means that QuickDict creates migration and seeder then run them.
Add new key-value data
When you'd like to add new key-value data like so, also run php artisan dict
.
Existing table will be ignored.
return [
'months' => [
1 => 'January',
2 => 'February',
3 => 'March',
4 => 'April',
5 => 'May',
6 => 'June',
7 => 'July',
8 => 'August',
9 => 'September',
10 => 'October',
11 => 'November',
12 => 'December'
],
'weekday_names' => [ // New
0 => 'Sunday',
1 => 'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
4 => 'Thursday',
5 => 'Friday',
6 => 'Saturday',
]
]
Update key-value data
When you change key-value data of existing table, use php artisan dict:refresh
command.
The command has two ways.
First one is with table name.
php artisan dict:refresh months
And another one is width --all
option.
php artisan dict:refresh --all
Of cause this means all of your key-value data will be replaced with new ones.
Recommendation
After running php artisan dict
command, I recommend you to add new Seeder(s) into database/seeds/DatabaseSeeder
so that you can manage your key-value data also through seeder commnd like php artisan migrate:fresh --seed
.
Retrieve key-value data
You can use dict()
helper function for retrieving the key-value data like so.
$collection = dict('months');
// or
echo dict('months.1'); // January
// or
$collection = dict(['months', 'weekday_names']);
echo $collection->toJson();
License
This package is licensed under the MIT License.
Copyright 2018 Sukohi Kuhoh