Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CraftLogan/Laravel-Overflow
The Laravel Overflow package will allow adding an overflow column to a form request easily. Use this package to make it easy to store overflow request values in a JSON or Text column on a database table:)
https://github.com/CraftLogan/Laravel-Overflow
Last synced: 3 months ago
JSON representation
The Laravel Overflow package will allow adding an overflow column to a form request easily. Use this package to make it easy to store overflow request values in a JSON or Text column on a database table:)
- Host: GitHub
- URL: https://github.com/CraftLogan/Laravel-Overflow
- Owner: CraftLogan
- License: mit
- Archived: true
- Created: 2020-01-08T20:27:45.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-14T11:59:15.000Z (over 3 years ago)
- Last Synced: 2024-07-20T03:12:22.309Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 132 KB
- Stars: 107
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
![Laravel Overflow Logo](https://raw.githubusercontent.com/CraftLogan/Laravel-Overflow/master/Laravel%20Overflow.png#logo)
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/craftlogan/laravel-overflow.svg?style=flat-square)](https://packagist.org/packages/craftlogan/laravel-overflow)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/spatie/laravel-responsecache/run-tests?label=tests)
[![MIT Licensed](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
[![Quality Score](https://img.shields.io/scrutinizer/g/craftlogan/laravel-overflow.svg?style=flat-square)](https://scrutinizer-ci.com/g/craftlogan/laravel-overflow)
[![Total Downloads](https://img.shields.io/packagist/dt/craftlogan/laravel-overflow.svg?style=flat-square)](https://packagist.org/packages/craftlogan/laravel-overflow)# Laravel Overflow
The Laravel Overflow package will allow adding an overflow column to a form request easily. Use this package to make it easy to store overflow request values in a JSON or Text column on a database table:)
## InstallationYou can install the package via composer:
```bash
composer require craftlogan/laravel-overflow
```## Usage
#### Create Model
You should create a model which will use the overflow method.
```bash
php artisan make:model TestModel -m
```
-m option generates database migration with the model.``` php
increments('id');
$table->string('name');
//$table->text('properties'); // Use this column type if you are using sqlite or a mysql version less than 5.7
//$table->json('properties'); // If your database supports json then I would recommend using the json column
$table->timestamps();
});
}```
After setting up fields you should migrate your table.
```bash
php artisan migrate
```#### Available Macros
There are `allWithOverflow` and `overflow` macros.You can payload Model and Overflow Field for each macros.#### `allWithOverflow`
This macro returns all fields of model as an array
``` php
$request->allWithOverflow(Model_Name,Overflow_Field)
//Returns[
"properties" => "{"key1":"key1_value","key2":"key2_value"}",
"name" => "overflow"
]
```#### `overflow`
This macro returns only Overflow Field as a json object
``` php
$request->overflow(Model_Name,Overflow_Field)//Returns
"{"key1":"key1_value","key2":"key2_value"}"
```#### Insert record via ``create`` method
You can use `Illuminate\Http\Request` for retrieving Http Requests.
``` php
public function store(Request $request)
{
$testmodel = TestModel::create($request->allWithOverflow(new TestModel(),'properties'));
}
```
Also, you can use your custom `Form Request`.``` php
public function store(\App\Http\Requests\TestFormRequest $request)
{
$testmodel = TestModel::create($request->allWithOverflow(new TestModel(),'properties'));
}
```
#### Insert record via ``save`` methodUsing with the object Attributes:
``` php
public function store(Request $request)
{
$testmodel = new TestModel();
$testmodel->name = $request->name;
$testmodel->properties = $request->overflow(new TestModel(),'properties');
$testmodel->save();
}
```### Testing
``` bash
composer test
```### Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Logan H. Craft
π» π
Daniel
π»
Laravel News
π
Paul Redmond
π
Pierre Arnissolle
π»
Hayri Can BARΓIN
π
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
This package used scafolding from the [Laravel Package Boilerplate](https://laravelpackageboilerplate.com) built by [Marcel Pociot](https://twitter.com/marcelpociot)