Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Model Manager Laravel Package

pomm-project/model-manager

PHP model manager for Pomm: manage models, mapping and persistence for PostgreSQL in a clean, extensible way. Provides tools to define model classes, query and hydrate results, and integrate data access layers for robust domain-driven apps.

View on GitHub
Deep Wiki
Context7

Pomm ModelManager

Latest Stable Version Scrutinizer Code Quality Build Status Monthly Downloads License

ModelManager is a Pomm project package. It makes developers able to manage entities upon the database through model classes. It is not an ORM, it grants developers with the ability to perform native queries using all of Postgres’SQL and use almost all its types. This makes model layer to meet with performances while staying lean.

This package will provide:

  • Model classes with all common built-in queries (CRUD but also, count and exists).
  • Flexible entities
  • Embedded entities converter
  • Model Layer to group model computations in transactions.

The model layer also proposes methods to leverage Postgres nice transaction settings (constraint deferring, isolation levels, read / write access modes etc.).

Installation

Pomm components are available on packagist using composer. To install and use Pomm's model manager, add a require line to "pomm-project/model-manager" in your composer.json file. It is advised to install the CLI package as well.

In order to load the model manager's poolers at startup, it is possible to use the provided SessionBuilder in Pomm's configuration:

$pomm = new Pomm([
    'project_name' => [
        'dsn' => …,
        'class:session_builder' => '\PommProject\ModelManager\SessionBuilder',
    ],
    …
]);

It is better to provide dedicated session builders with your project.

Documentation

The model manager’s documentation is available either online or directly in the documentation folder.

Tests

This package uses Atoum as unit test framework. The tests are located in sources/tests. This package also provides a ModelSessionAtoum class so the test classes can directly get sessions with the model and model layer poolers loaded.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui