22
33# Shared Query Builder
44
5- #### Doctrine 2 [ Query Builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8/reference/query-builder.html ) decorator - [ AndanteProject] ( https://github.com/andanteproject )
5+ #### Doctrine 2/3 [ Query Builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8/reference/query-builder.html ) decorator - [ AndanteProject] ( https://github.com/andanteproject )
66
77[ ![ Latest Version] ( https://img.shields.io/github/release/andanteproject/shared-query-builder.svg )] ( https://github.com/andanteproject/shared-query-builder/releases )
88![ Github actions] ( https://github.com/andanteproject/shared-query-builder/actions/workflows/workflow.yml/badge.svg?branch=main )
99![ Php8] ( https://img.shields.io/badge/PHP-%208.x-informational?style=flat&logo=php )
1010![ PhpStan] ( https://img.shields.io/badge/PHPStan-Level%208-syccess?style=flat&logo=php )
1111
12- A Doctrine 2 [ Query Builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8 /reference/query-builder.html )
12+ A Doctrine 2 [ Query Builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/3.2 /reference/query-builder.html )
1313decorator that makes easier to build your query in shared contexts.
1414
1515## Why do I need this?
@@ -20,13 +20,13 @@ places/classes.
2020Without ` SharedQueryBuilder ` there is no way to do that unless * guessing Entity aliases* and messing up with * join
2121statements* .
2222
23- This [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8 /reference/query-builder.html )
23+ This [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/3.2 /reference/query-builder.html )
2424decorator addresses some problems you can find in a real world situation you usually solve with workarounds and business
2525conventions.
2626
2727## Features
2828
29- - Ask [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8 /reference/query-builder.html )
29+ - Ask [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/3.2 /reference/query-builder.html )
3030 which alias is used for an entity when you are outside its creation context;
3131- ** Lazy joins** to declare join statements to be performed only if related criteria are defined;
3232- ** Immutable** and ** unique** query ** parameters** ;
@@ -47,7 +47,7 @@ $ composer require andanteproject/shared-query-builder
4747## Set up
4848
4949After creating
50- your [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8 /reference/query-builder.html ) , wrap
50+ your [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/3.2 /reference/query-builder.html ) , wrap
5151it inside our ` SharedQueryBuilder ` .
5252
5353``` php
@@ -62,7 +62,7 @@ $sqb = SharedQueryBuilder::wrap($qb);
6262```
6363
6464From now on, you can use ` $sqb ` exactly as you usually do
65- with [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.8 /reference/query-builder.html ) (every
65+ with [ query builder] ( https://www.doctrine-project.org/projects/doctrine-orm/en/3.2 /reference/query-builder.html ) (every
6666single method of ` QueryBuilder ` is available on ` SharedQueryBuilder ` ), ** but with some useful extra methods** 🤫.
6767
6868When you're done building your query, just ** unwrap** your ` SharedQueryBuilder ` .
@@ -161,7 +161,7 @@ or [some examples](#examples) to achieve your "OMG" revelation moment.
161161Let's suppose we need to list ` User ` entities but we also have an ** optional filter** to search an user by it's
162162address ` Building ` name.
163163
164- There is no need to perform any join until we decide to use that filter. We can use ** Laxy Join** to achieve this.
164+ There is no need to perform any join until we decide to use that filter. We can use ** Lazy Join** to achieve this.
165165
166166``` php
167167$sqb = SharedQueryBuilder::wrap($userRepository->createQueryBuilder('u'));
0 commit comments