This package allows the information to be presented in a different way by means of methods that can be defined in the model's presenter class.
You can install the package via composer:
| Laravel | Version |
|---|---|
| 6, 7, 8 | 1.0.0 |
| 9 | 1.1.0 |
| 10 | 1.2.0 |
| 11 | 1.3.0 |
| 12 | 1.4.0 |
composer require datacreativa/laravel-presentableUse the HasPresentable trait in any Eloquent Model, you must also add the $presenter property.
use App\Models\Presenters\UserPresenter;
use TheHiveTeam\Presentable\HasPresentable;
class User extends Model
{
use HasPresentable;
protected $presenter = UserPresenter::class;
}You can generate a class presenter with this command:
php artisan make:presenter UserPresenterIn this class you can define any method, for example:
namespace App\Models\Presenters;
use TheHiveTeam\Presentable\Presenter;
class UserPresenter extends Presenter
{
public function name()
{
return ucwords($this->model->name);
}
}Now you have available the present() method in Eloquent Model.
$user = (new User)->setAttribute('name', 'john doe');
$user->present()->name;
// John DoeEnjoy it!
composer testPlease see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.
