PHPackages                             codiliateur/laravel-model-extensions - 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. codiliateur/laravel-model-extensions

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

codiliateur/laravel-model-extensions
====================================

Any extensions for Eloquent/Model

v1.0.1(1y ago)06MITPHPPHP ^8.0

Since Aug 29Pushed 1y ago1 watchersCompare

[ Source](https://github.com/codiliateur/laravel-model-extensions)[ Packagist](https://packagist.org/packages/codiliateur/laravel-model-extensions)[ RSS](/packages/codiliateur-laravel-model-extensions/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (5)Versions (3)Used By (0)

laravel-model-extensions
========================

[](#laravel-model-extensions)

Installing
----------

[](#installing)

To install package use composer

```
composer require codiliateur/laravel-model-extensions

```

"Composite" Primary Keys
------------------------

[](#composite-primary-keys)

If your table has a composite primary key, you can create model from `\Codiliateur\LaravelModelExtensions\Database\Eloquent\CompositeKeyModel`

For example:

```
namespace App\Models\Bookings;

use Codiliateur\LaravelModelExtensions\Database\Eloquent\CompositeKeyModel;

class BoardingPass extends CompositeKeyModel
{
    protected $primaryKey = [
        'ticket_no',
        'flight_id',
    ];
}
```

To define **composite primary key** add property `$primaryKey` as array of key columns. Adding definition `$autoincrementing = false` is not required.

### Operating with composite key model

[](#operating-with-composite-key-model)

Now, to find any model using `find()`, you must specify a composite key value as an argument (an array of key column values) instead of a single scalar value.

```
BoardingPass::find(['0005435189117', 198393])

```

To get multiple models using "find()" or "find Many()", specify an array of composite keys

```
BoardingPass::find([["0005435189117", 198393], ["0005435189096", 198393]])

```

or

```
BoardingPass::findMany([["0005435189117", 198393], ["0005435189096", 198393]])

```

To get a model's composite key use `getKey()`

```
    $boardingPass = BoardingPass::find(['0005435189117', 198393]);
    $boardingPass->getKey();

    > ['0005435189117',198393]

```

Other methods of the model work as before.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

620d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e9f2d90d10001bd0e403d32d36a87500b8d3fdce01c26b7aad5cb4aa930f60fb?d=identicon)[codiliator](/maintainers/codiliator)

---

Top Contributors

[![codiliateur](https://avatars.githubusercontent.com/u/101108311?v=4)](https://github.com/codiliateur "codiliateur (3 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/codiliateur-laravel-model-extensions/health.svg)

```
[![Health](https://phpackages.com/badges/codiliateur-laravel-model-extensions/health.svg)](https://phpackages.com/packages/codiliateur-laravel-model-extensions)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11320.2M21](/packages/anourvalar-eloquent-serialize)[overtrue/laravel-versionable

Make Laravel model versionable.

585308.0k5](/packages/overtrue-laravel-versionable)[abbasudo/laravel-purity

elegant way to add filter and sort in laravel

514330.5k1](/packages/abbasudo-laravel-purity)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135192.6k5](/packages/statamic-rad-pack-runway)[dragon-code/laravel-deploy-operations

Performing any actions during the deployment process

240173.5k2](/packages/dragon-code-laravel-deploy-operations)[stayallive/laravel-eloquent-observable

Register Eloquent model event listeners just-in-time directly from the model.

2928.9k7](/packages/stayallive-laravel-eloquent-observable)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
