Laravel helper to know the completion status of an Eloquent Model
MIT License
Laravel helper to know the completion status of an Eloquent Model
composer require wendelladriel/laravel-model-completed
This package provides a trait: \WendellAdriel\ModelCompleted\HasCompletionStatus
that you can use in your Eloquent Models.
You also need to provide a protected array $required
property with a list of required properties to consider your
Model completed:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
use WendellAdriel\ModelCompleted\HasCompletionStatus;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable, HasCompletionStatus;
protected $fillable = [
'name',
'username',
'email',
'password',
];
protected array $required = [
'name',
'email',
'password'
];
}
This trait adds six properties to the Model:
The list of required fields for the Model to be considered complete (the $required
property or an empty array if the $required
property is not set).
How many fields are needed to be filled for the Model to be considered complete.
How many required fields are already filled.
How many required fields are empty.
The percentage of completion of the Model.
If all required fields are filled the Model is considered complete.
You can use the methods below to append them to the Model when needed:
withCompletionStatus
Appends the required_fields
and is_complete
properties to the Model.
withCompletionCounts
Appends the required_fields
, total_fields
, filled_fields
, empty_fields
and completion_percentage
properties to the Model.
withCompletionInfo
Appends the required_fields
, total_fields
, filled_fields
, empty_fields
, completion_percentage
and is_complete
properties to the Model.
All PRs are welcome.
For major changes, please open an issue first describing what you want to add/change.