В доктрине вы можете создать DQL 2-мя способами:doctrine: QueryBuilder vs createQuery?
EntityManager :: CreateQuery:
$query = $em->createQuery('SELECT u FROM MyProject\Model\User u WHERE u.id = ?1');
QueryBuilder:
$qb->add('select', 'u')
->add('from', 'User u')
->add('where', 'u.id = ?1')
->add('orderBy', 'u.name ASC');
Интересно, что разница есть, и которые должны Я использую?
Но нет ли накладных расходов на разбор строки DQL в первом случае? Или построитель также создает ту же строку DQL? –
Да, QueryBuilder создает для вас строку DQL. После этого DQL разбирается в любом случае. – Dennis