Построитель запросов - это, скажем, интерфейс для создания запроса ... Он должен быть более удобным для использования, у него есть не только метод add (), но и такие методы, как where () иWhere (), from ( ) и т. д. Но, в конце концов, он просто создает запрос, подобный тому, который вы используете в методе createQuery ().
Пример более продвинутого использования построителя запросов:
$em->createQueryBuilder()
->from('Project\Entities\Item', 'i')
->select("i, e")
->join("i.entity", 'e')
->where("i.lang = :lang AND e.album = :album")
->setParameter('lang', $lang)
->setParameter('album', $album);