PHPackages                             maduser/argon-eloquent - 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. maduser/argon-eloquent

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

maduser/argon-eloquent
======================

Eloquent ORM integration for the Argon runtime stack.

v1.0.0(2mo ago)00MITPHPPHP ^8.2CI passing

Since May 25Pushed 2mo agoCompare

[ Source](https://github.com/judus/argon-eloquent)[ Packagist](https://packagist.org/packages/maduser/argon-eloquent)[ RSS](/packages/maduser-argon-eloquent/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (8)Versions (2)Used By (0)

argon-eloquent
==============

[](#argon-eloquent)

[![PHP](https://camo.githubusercontent.com/ce3e396e4f1bbbd326f628872a1414656d28065f2712cda0868d8eff07320aec/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322b2d626c7565)](https://www.php.net/)[![Build](https://github.com/judus/argon-eloquent/actions/workflows/php.yml/badge.svg?branch=main)](https://github.com/judus/argon-eloquent/actions)[![codecov](https://camo.githubusercontent.com/d06cb321cee0837c58e1ee4e8776ec79975ed169502c7e2c88fce6c4d0caeadc/68747470733a2f2f636f6465636f762e696f2f67682f6a756475732f6172676f6e2d656c6f7175656e742f6272616e63682f6d61696e2f67726170682f62616467652e737667)](https://codecov.io/gh/judus/argon-eloquent)[![Psalm Level](https://camo.githubusercontent.com/b49fe896f26550e07781d4beae06cf9fbfafe994a1f479fd9a2720d44b5df169/68747470733a2f2f73686570686572642e6465762f6769746875622f6a756475732f6172676f6e2d656c6f7175656e742f636f7665726167652e737667)](https://shepherd.dev/github/judus/argon-eloquent)[![Latest Version](https://camo.githubusercontent.com/e3f30b3446b3b182955462703a9523db59b6ccbb3e7d9cee54289e5a6241abce/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6164757365722f6172676f6e2d656c6f7175656e742e737667)](https://packagist.org/packages/maduser/argon-eloquent)[![Total Downloads](https://camo.githubusercontent.com/695ce28a65db7c3b55e4681edc961a19308cf04c46926bdb62a33e86d0a4edfa/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6164757365722f6172676f6e2d656c6f7175656e742e7376673f636f6c6f723d626c7565)](https://packagist.org/packages/maduser/argon-eloquent)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)

Eloquent ORM integration for the Argon runtime stack.

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

[](#installation)

```
composer require maduser/argon-eloquent
```

Registration
------------

[](#registration)

Register the provider in your application composition layer:

```
use Maduser\Argon\Eloquent\Provider\EloquentServiceProvider;

$container->register(EloquentServiceProvider::class);
```

The provider registers:

- `Illuminate\Container\Container`
- `Illuminate\Events\Dispatcher`
- `Illuminate\Database\Capsule\Manager`
- `Illuminate\Database\DatabaseManager`
- `Illuminate\Database\ConnectionResolverInterface`
- `Maduser\Argon\Eloquent\EloquentConnectionRegistry`
- `Maduser\Argon\Eloquent\Config\EloquentConfig`

Existing container definitions are not replaced.

Connections
-----------

[](#connections)

Add database connections during service-provider registration:

```
use Maduser\Argon\Container\AbstractServiceProvider;
use Maduser\Argon\Container\ArgonContainer;
use Maduser\Argon\Eloquent\EloquentConnectionRegistry;

final class DatabaseServiceProvider extends AbstractServiceProvider
{
    #[\Override]
    public function register(ArgonContainer $container): void
    {
        $registry = $container->get(EloquentConnectionRegistry::class);

        $registry->add('default', [
            'driver' => 'sqlite',
            'database' => dirname(__DIR__) . '/storage/database.sqlite',
            'prefix' => '',
        ]);

        $registry->add('analytics', [
            'driver' => 'mysql',
            'host' => '127.0.0.1',
            'database' => 'analytics',
            'username' => 'app',
            'password' => '',
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
        ]);
    }
}
```

The default connection name is `default`. Configure another default explicitly:

```
use Maduser\Argon\Eloquent\Config\EloquentParameter;

$container->getParameters()->set(EloquentParameter::DEFAULT_CONNECTION, 'analytics');
```

Boot Behavior
-------------

[](#boot-behavior)

The provider registers services during `register()` and boots Eloquent during `boot()`.

That means connection providers should add connections in `register()`, before the application calls `$container->boot()`. This keeps the binding graph explicit and still allows Eloquent to perform its required runtime setup.

By default, model events are enabled and Capsule is not registered globally:

```
use Maduser\Argon\Eloquent\Config\EloquentParameter;

$parameters = $container->getParameters();
$parameters->set(EloquentParameter::BOOT_EVENTS, true);
$parameters->set(EloquentParameter::GLOBAL, false);
```

`EloquentParameter::GLOBAL` calls Capsule's `setAsGlobal()` during boot. Leave it disabled unless the application explicitly needs Capsule's static API.

Usage
-----

[](#usage)

Inject Illuminate's own database services:

```
use Illuminate\Database\DatabaseManager;

final readonly class UserRepository
{
    public function __construct(
        private DatabaseManager $database,
    ) {
    }

    public function count(): int
    {
        return $this->database->connection()->table('users')->count();
    }
}
```

Eloquent models work after container boot:

```
use Illuminate\Database\Eloquent\Model;

final class User extends Model
{
    protected $table = 'users';
}
```

Boundaries
----------

[](#boundaries)

This package only wires Eloquent into Argon. It does not provide migrations, model discovery, database config loading, transactions helpers, repositories, or an Argon ORM abstraction.

Quality Gates
-------------

[](#quality-gates)

```
composer check
composer test:coverage
composer psalm
composer phpcs
```

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance88

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

Unknown

Total

1

Last Release

60d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7fb9da5a15010d335622bf9f465a32ef79c8d1cffcd139c2a9114736b72e2c13?d=identicon)[jdu](/maintainers/jdu)

---

Top Contributors

[![judus](https://avatars.githubusercontent.com/u/1478654?v=4)](https://github.com/judus "judus (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/maduser-argon-eloquent/health.svg)

```
[![Health](https://phpackages.com/badges/maduser-argon-eloquent/health.svg)](https://phpackages.com/packages/maduser-argon-eloquent)
```

###  Alternatives

[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k8.4M98](/packages/mongodb-laravel-mongodb)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[watson/validating

Eloquent model validating trait.

9803.5M55](/packages/watson-validating)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[aimeos/laravel-nestedset

Nested Set Model for Laravel

3714.4k7](/packages/aimeos-laravel-nestedset)[dbout/wp-orm

WordPress ORM with Eloquent.

12910.3k1](/packages/dbout-wp-orm)

PHPackages © 2026

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