जटिल डेटा मॉडल के साथ काम करते समय, उनके बीच संबंध स्थापित करके कई तालिकाओं से डेटा पुनर्प्राप्त करना आवश्यक हो जाता है। लेफ्ट जॉइन आपको एक टेबल से सभी पंक्तियाँ और दूसरी टेबल से केवल मेल खाने वाली पंक्तियाँ लाने की अनुमति देता है। निम्न सिंटैक्स त्रुटि:
यह त्रुटि तब होती है जब " जॉइन क्लॉज में "WITH" के बजाय ON" का उपयोग किया जाता है। इसे हल करने के लिए, "ON" को "WITH" से बदलें जैसा कि नीचे दिखाया गया है:
$qb->leftJoin('User\Entity\User', 'u', \Doctrin\ORM\Query \Expr\Join::with, 'a.user = u.id')लेफ्ट जॉइन लागू करना$qb->leftJoin('User\Entity\User', 'u', \Doctrine\ORM\Query\Expr\Join::WITH, 'a.user = u.id')
एक एसोसिएशन के साथ:यदि आपकी इकाई का उस तालिका के साथ जुड़ाव है जिसमें आप शामिल होना चाहते हैं, तो आप निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
$qb -> चयन करें ('ए', 'यू') ->from('Credit\Entity\UserCreditHistory', 'a') ->leftJoin('a.user', 'u') ->कहां('यू = :उपयोगकर्ता') ->सेट पैरामीटर('उपयोगकर्ता', $उपयोगकर्ता) ->orderBy('a.created_at', 'DESC');इस मामले में, "Credit\Entity\UserCreditHistory#user" दो संस्थाओं के बीच संबंध का प्रतिनिधित्व करता है।$qb
->select('a', 'u')
->from('Credit\Entity\UserCreditHistory', 'a')
->leftJoin('a.user', 'u')
->where('u = :user')
->setParameter('user', $users)
->orderBy('a.created_at', 'DESC');
बिना किसी एसोसिएशन के:यदि कोई एसोसिएशन मौजूद नहीं है, तो आप निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
$qb -> चयन करें ('ए', 'यू') ->from('Credit\Entity\UserCreditHistory', 'a') ->बाएं शामिल हों( 'उपयोगकर्ता\इकाई\उपयोगकर्ता', 'यू', \सिद्धांत\ORM\Query\Expr\जुड़ें::साथ, 'a.user = u.id' ) ->कहां('यू = :उपयोगकर्ता') ->सेट पैरामीटर('उपयोगकर्ता', $उपयोगकर्ता) ->orderBy('a.created_at', 'DESC');यह क्वेरी दोनों तालिकाओं से रिकॉर्ड पुनर्प्राप्त करती है और निम्न प्रारूप के सरणियों वाला एक परिणाम सेट लौटाती है:$qb
->select('a', 'u')
->from('Credit\Entity\UserCreditHistory', 'a')
->leftJoin('a.user', 'u')
->where('u = :user')
->setParameter('user', $users)
->orderBy('a.created_at', 'DESC');
सारणी(
सारणी(
0 => UserCreditHistory उदाहरण,
1 => उपयोगकर्ता उदाहरण,
),
सारणी(
0 => UserCreditHistory उदाहरण,
1 => उपयोगकर्ता उदाहरण,
),
// ...
) अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3