PHPackages                             adrosoftware/laravel-model-presenter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. adrosoftware/laravel-model-presenter

ActiveLibrary[Database &amp; ORM](/categories/database)

adrosoftware/laravel-model-presenter
====================================

A simple and elegant way to separate presentation logic from Laravel Eloquent models

v1.3.0(2mo ago)11.4k↓91.7%1MITPHPPHP ^8.2CI failing

Since Oct 3Pushed 2mo agoCompare

[ Source](https://github.com/adrorocker/laravel-model-presenter)[ Packagist](https://packagist.org/packages/adrosoftware/laravel-model-presenter)[ RSS](/packages/adrosoftware-laravel-model-presenter/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (9)Dependencies (18)Versions (11)Used By (1)

Laravel Model Presenter
=======================

[](#laravel-model-presenter)

A simple and elegant way to separate presentation logic from your Laravel Eloquent models.

Introduction
------------

[](#introduction)

The Presenter pattern helps keep your models clean by extracting presentation and formatting logic into dedicated presenter classes. Instead of cluttering your models with display-related methods, you can organize them in presenters.

Installation
------------

[](#installation)

```
composer require adrosoftware/laravel-model-presenter
```

Since version 1.2.0, the package is auto-discovered by Laravel, so no manual service provider registration is required.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11, 12, or 13

### Version Compatibility

[](#version-compatibility)

PHPLaravel 11Laravel 12Laravel 138.2✅✅❌8.3✅✅✅8.4✅✅✅8.5✅✅✅> Laravel 13 requires PHP 8.3 or higher.

Quick Start
-----------

[](#quick-start)

### 1. Create a Presenter

[](#1-create-a-presenter)

Create a presenter class that extends `ModelPresenter`:

```
