एक्सेस करने के लिए -> प्रतिभागियों को उसी तरह QueryBuilder का उपयोग करके, आपको क्वेरी में शामिल होना होगा।
कोड उदाहरण कुछ ऐसा हो सकता है:
$queryBuilder = $this->getDI()->getModelsManager()
->createBuilder()
->columns(['p.id','participants.*'])
->addFrom('Entity\Projects', 'p')
->leftJoin('Entity\Participants', 'participants.projectId = p.id', 'participants')
->groupBy('p.id, participants.id')
->orderBy('p.id ASC');
$resultSet = $queryBuilder->getQuery()->execute();
groupBy()
परिणाम को बहु-आयामी बनाने के लिए यहां by का उपयोग किया जाता है।
उस तरह की क्वेरी (पीजीएसक्यूएल के तहत परीक्षण) ने फाल्कन को प्रतिभागियों के कुछ बाद के परिणामसेट ऑब्जेक्ट बनाए pi
परियोजनाओं के लिए परिणामसेट के अंदर p
।
आप अभी भी foreach()
. का उपयोग करके इसके माध्यम से पुनरावृति कर सकते हैं लेकिन आखिरकार, मुझे यकीन नहीं है कि इसने अंतिम क्वेरी संख्या को कम कर दिया है ।
फ़ायरिंग $result = $resultSet->toArray()
बनाया गया $result['pi']
परिणामसेट के रूप में बने रहें, इसलिए आपको उस पर सतर्क रहना चाहिए। आप columns()
. में सटीक कॉलम को परिभाषित करके इसे सरणियों के रूप में डंप करने के लिए बाध्य कर सकते हैं पैरामीटर। इसका एक नकारात्मक पहलू है - अब आपको groupBy()
. से कोई लाभ नहीं होगा , कम से कम फाल्कन 1.3.2 और PHP 5.5.3 पर यहाँ चल रहा हूँ।