Getting started with Query Builder
QueryBuilder
is an object designed to help build the DQL queries through a PHP API with a fluent interface (to find out more about fluent interfaces, see Chapter 2, Entities and Mapping Information). It allows us to retrieve the generated DQL queries through the getDql()
method (useful for debugging) or directly use the Query
object (provided by Doctrine).
Note
To increase performance, QueryBuilder
caches the generated DQL queries and manages an internal state.
The full API and states of the DQL query are documented on the following website:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html
We will give an in-depth explanation of the findWithComments()
method that we created in the PostRepository
class.
Firstly, a QueryBuilder
instance is created with the createQueryBuilder()
method inherited from the base entity repository. The QueryBuilder
instance takes a string as a parameter. This string will be used as an alias...