Understanding DQL
DQL is the acronym of Doctrine Query Language. It's a domain-specific language that is very similar to SQL, but is not SQL. Instead of querying the database tables and rows, DQL is designed to query the object model's entities and mapped properties.
DQL is inspired by and similar to HQL, the query language of Hibernate, a popular ORM for Java. For more details you can visit this website: http://www.hibernate.org/.
Note
Learn more about domain-specific languages at:
To better understand what it means, let's run our first DQL query.
Doctrine command-line tools are as genuine as a Swiss Army knife. They include a command called orm:run-dql
that runs the DQL query and displays it's result. Use it to retrieve title
and all the comments of the post with 1
as an identifier:
php vendor/bin/doctrine.php orm:run-dql "SELECT p.title, c.bodyFROM Blog\Entity\Post p JOIN p.comments c WHERE p.id=1"
It looks like a SQL query, but it's definitely...