सिद्धांत में आप 2 तरीकों से DQL बना सकते हैं:सिद्धांत: Querybuild बनाम 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');
मुझे आश्चर्य है कि क्या अंतर है और जो करना चाहिए मैं उपयोग करता हूं?
लेकिन पहले मामले में डीक्यूएल स्ट्रिंग को पार्स करने पर कोई ओवरहेड नहीं है? या निर्माता एक ही डीक्यूएल स्ट्रिंग को परिणाम के रूप में भी बनाता है? –
हां, QueryBuilder आपके लिए DQL स्ट्रिंग बनाता है। उसके बाद, डीक्यूएल को किसी भी तरह से पार्स किया जाता है। – Dennis