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
Doctrine Entities

Doctrine Entities Laravel Package

dbstudios/doctrine-entities

Laravel package to work with Doctrine ORM entities in your app, providing integration helpers for managing Doctrine entities alongside Laravel’s ecosystem. Useful when you prefer Doctrine’s mapping and repositories over Eloquent for certain domains.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Doctrine Entities
Can I use this package with Laravel 10.x or Doctrine 3.x?
No, this package was last updated in 2017 and targets Laravel 5.x and Doctrine 2.x. You’d need to fork and modernize it yourself to support newer versions, as the original lacks compatibility with Laravel’s Symfony 6.x components or Doctrine 3.x’s breaking changes.
What are the main use cases where Doctrine would be better than Eloquent in Laravel?
Doctrine excels in complex domains like Domain-Driven Design (DDD), legacy databases with intricate schemas, or applications requiring advanced ORM features such as second-level caching, event listeners, or complex inheritance hierarchies. Eloquent is simpler for CRUD-heavy apps.
How do I install and configure this package in a Laravel project?
Run `composer require dbstudios/doctrine-entities`, then manually configure Doctrine’s EntityManager in a custom service provider. Override Laravel’s `config/database.php` to avoid conflicts with native Doctrine components, and ensure your `composer.json` isolates Doctrine dependencies with `replace` or `conflict` rules.
Will this package slow down my Laravel application?
Yes, Doctrine’s reflection-based entity management and query builder can introduce performance overhead compared to Eloquent’s optimized queries. Benchmark critical paths, especially in high-traffic apps, and consider isolating Doctrine to non-performance-critical modules.
Are there any known conflicts with Laravel’s built-in Doctrine components?
Yes, this package may clash with Laravel’s native Doctrine DBAL (via Symfony Bridge) or other Doctrine-related services. Use Composer’s `extra.laravel.dont-discover` to exclude Doctrine namespaces and manually configure the EntityManager to avoid auto-discovery issues.
Is this package actively maintained or safe for production?
No, the package is outdated with no recent commits or community support. It carries technical debt risks, including unpatched security vulnerabilities in Doctrine 2.x. Use only in controlled environments or as a temporary bridge during migration.
How do I handle Doctrine entities alongside Eloquent models in the same project?
Namespace your Doctrine entities carefully to avoid collisions with Eloquent models. Use separate service providers for Doctrine’s repositories and listeners, and configure Laravel’s router or service container to route requests to the appropriate ORM based on domain logic.
What alternatives exist for using Doctrine with Laravel?
Consider `spatie/laravel-doctrine-orm` for a more modern approach, or evaluate Laravel’s native Eloquent for most use cases. If you need Doctrine’s features, a custom integration with Doctrine 3.x (via a fork) or a microservice architecture may be safer than this package.
Can I use this package for a greenfield Laravel project?
No, this package is not recommended for new projects. Eloquent is better maintained, simpler, and fully integrated with Laravel’s ecosystem. Reserve Doctrine for hybrid apps or legacy migrations where its features are explicitly required.
How do I test Doctrine entities in a Laravel application?
Manually validate entity hydration, repository interactions, and query builder behavior in your tests. Use Laravel’s testing tools to mock Doctrine’s EntityManager and services, and test critical workflows like CRUD operations, relationships, and transactions in isolation.
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.
bugban/symfony
beyonder-capi/workflow-extensions-bundle
beyonder-capi/job-queue-bundle
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin