alxarafe/resource-eloquent

Eloquent ORM adapter for alxarafe/resource-controller. Implements RepositoryContract, QueryContract, and TransactionContract using Illuminate Database.

Maintainers

Package info

github.com/alxarafe/resource-eloquent

pkg:composer/alxarafe/resource-eloquent

Statistics

Installs: 46

Dependents: 1

Suggesters: 1

Stars: 0

Open Issues: 0

v0.1.1 2026-04-24 11:02 UTC

This package is auto-updated.

Last update: 2026-04-24 11:08:21 UTC


README

PHP Version CI Tests Static Analysis PRs Welcome

Eloquent ORM adapter for alxarafe/resource-controller.

Implements RepositoryContract, QueryContract, and TransactionContract using Illuminate Database.

Ecosystem

Package Purpose Status
resource-controller Core CRUD engine + UI components ✅ Stable
resource-eloquent Eloquent ORM adapter ✅ Stable
resource-blade Blade template renderer adapter ✅ Stable
resource-twig Twig template renderer adapter ✅ Stable

Installation

composer require alxarafe/resource-eloquent

This will automatically install alxarafe/resource-controller and illuminate/database.

Usage

use Alxarafe\ResourceController\AbstractResourceController;
use Alxarafe\ResourceController\Contracts\RepositoryContract;
use Alxarafe\ResourceController\Contracts\TransactionContract;
use Alxarafe\ResourceEloquent\EloquentRepository;
use Alxarafe\ResourceEloquent\EloquentTransaction;
use App\Models\Product; // Your Eloquent model

class ProductController extends AbstractResourceController
{
    // ... basic controller configuration ...

    protected function getRepository(string $tabId = 'default'): RepositoryContract
    {
        return new EloquentRepository(Product::class);
    }

    protected function getTransaction(): TransactionContract
    {
        // Get the DB connection from Laravel or Capsule
        return new EloquentTransaction(\Illuminate\Support\Facades\DB::connection());
    }
}

Features

  • Translates declarative field filtering and querying to Eloquent queries.
  • Manages pagination automatically.
  • Handles simple and compound database transactions seamlessly.
  • Converts Eloquent metadata directly into Resource Controller configurations.

Development

Docker

docker compose up -d
docker exec alxarafe-resources composer install

Running the CI pipeline locally

bash bin/ci_local.sh

Running tests only

bash bin/run_tests.sh

License

GPL-3.0-or-later