/orm

A drop-in Doctrine ORM 2 implementation for Laravel 5+ and Lumen

Primary LanguagePHPMIT LicenseMIT

Laravel Doctrine ORM

GitHub release Travis StyleCI Scrutinizer Packagist Packagist

A drop-in Doctrine ORM 2 implementation for Laravel 5+

$scientist = new Scientist(
    'Albert', 
    'Einstein'
);

$scientist->addTheory(
    new Theory('Theory of relativity')
);

EntityManager::persist($scientist);
EntityManager::flush();
  • Easy configuration
  • Pagination
  • Pre-configured metadata, connections and caching
  • Extendable: extend or add your own drivers for metadata, connections or cache
  • Annotations, yaml, xml, config and static php metadata mappings
  • Multiple entity managers and connections
  • Laravel naming strategy
  • Simple authentication implementation
  • Password reminders implementation
  • Doctrine console commands
  • DoctrineExtensions supported
  • Timestamps, Softdeletes and TablePrefix listeners

Documentation

Read the full documentation.

Versions

Version Supported Laravel Versions Support
1.0.x 5.1.x Bugfix and security releases
1.1.x 5.2.x Bugfix and security releases
1.2.x 5.2.x, 5.3.x New features

Require this package

composer require "laravel-doctrine/orm:1.2.*"

After adding the package, add the ServiceProvider to the providers array in config/app.php

LaravelDoctrine\ORM\DoctrineServiceProvider::class,

Optionally you can register the EntityManager facade:

'EntityManager' => LaravelDoctrine\ORM\Facades\EntityManager::class

To publish the config use:

php artisan vendor:publish --tag="config"

License

This package is licensed under the MIT license.