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...