morningtrain/laravel-fields
API Fields
2,882
| Install | |
|---|---|
composer require morningtrain/laravel-fields |
|
| Latest Version: | 1.17.0 |
| PHP: | ^7.2|^8.0 |
| License: | GPL-3.0-only |
| Last Updated: | May 8, 2023 |
| Links: | GitHub · Packagist |
Maintainer: morningtrain
Laravel Fields
Install
Via Composer
$ composer require morningtrain/laravel-fields
Features
A field is at its core responsible for taking a request value and applying it to an eloquent model attribute.
Applying fields
Having a field and a model instance, it can be applied like this:
$field->update($model, $request, FieldContract::BEFORE_SAVE);
and the following for post-save.
$field->update($model, $request, FieldContract::AFTER_SAVE);
Some fields will know that it should run before saving the model (like setting a basic attribute value) while some fields should be run after (attaching related models).
A more complete example would be:
$request = request();
if (is_array($fields) && !empty($fields)) {
foreach ($fields as $field) {
$field->update($model, $request, FieldContract::BEFORE_SAVE);
}
$model->save();
foreach ($fields as $field) {
$field->update($model, $request, FieldContract::AFTER_SAVE);
}
}
The example uses the following classes:
use Illuminate\Database\Eloquent\Model;
use MorningTrain\Laravel\Fields\Contracts\FieldContract;
Fields
Basic field
Field::create('name_of_attribute')
Hidden (static) field
Field::hidden('name_of_attribute', 'value to apply')
Belongs to many field
Field::belongsToMany('name_in_request')
->relation('name_of_relation')
->removeMissing()
Credits
This package is developed and actively maintained by Morningtrain.
_- _ -__ - -- _ _ - --- __ ----- _ --_
( Morningtrain, Denmark )
`---__- --__ _ --- _ -- ___ - - _ --_ ´
o
. ____
_||__| | ______ ______ ______
( | | | | | | |
/-()---() ~ ()--() ~ ()--() ~ ()--()
--------------------------------------
Related Packages
erirk/paypalpayment
laravel-paypalpayment is simple package help you process direct credit card paym...
0
doctrine/dbal
Powerful PHP database abstraction layer (DBAL) with many features for database s...
631,580,251
9,707