In Dottrina è possibile creare DQL in 2 modi:dottrina: 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');
Mi chiedo quale sia la differenza e che dovrebbe Io uso?
Ma non c'è un sovraccarico nell'analisi della stringa DQL nel primo caso? Oppure il costruttore crea anche la stessa stringa DQL? –
Sì, QueryBuilder crea la stringa DQL per te. Dopodiché, DQL viene comunque analizzato. – Dennis