Download the PHP package ttskch/doctrine-orm-criteria without Composer
On this page you can find all versions of the php package ttskch/doctrine-orm-criteria. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ttskch/doctrine-orm-criteria
More information about ttskch/doctrine-orm-criteria
Files in ttskch/doctrine-orm-criteria
Package doctrine-orm-criteria
Short Description Doctrine ORM Criteria allows you to separate any complex "search condition" as a Criteria with a specialized API for QueryBuilder of doctrine/orm.
License MIT
Informations about the package doctrine-orm-criteria
Doctrine ORM Criteria
Motivation
QueryBuilder
of doctrine/orm has a method called addCriteria()
that allows you to build queries by combining Criteria
of doctrine/collections. This allows you to separate the concerns of "search conditions" into a Criteria
, improving the maintainability of your codebase.
However, Criteria
of doctrine/collections only has a very limited matching language because it is designed to work both on the SQL and the PHP collection level, and therefore cannot be used to build complex queries.
Rejoice! Doctrine ORM Criteria allows you to separate any complex "search condition" as a Criteria
with a specialized API for QueryBuilder
of doctrine/orm just like below.
Requirements
- PHP: ^8.0
- Doctrine ORM: ^2.8
Support for Doctrine ORM v3 is coming soon.
Installation
Usage
Basic
You can create your own Criteria
by implementing CriteriaAwareness
to build queries.
Built-in Criteria and utilities
There are some built-in Criteria
: OrderBy
, Andx
, and Orx
. Using Andx
and Orx
, you can combine multiple Criteria
to create a new Criteria
.
Additionally, when creating your own Criteria
, you can use JoinTrait
to ensure that the addSelect()
and join
are IDEMPOTENT even if the Criteria
is applied multiple times to the QueryBuilder
.
Integration with Repository
You can also easily integrate with your repositories using CriteriaAwareRepositoryTrait
.