"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > केकपीएचपी की खोज विधि का उपयोग करके जॉइन क्वेरीज़ कैसे निष्पादित करें?

केकपीएचपी की खोज विधि का उपयोग करके जॉइन क्वेरीज़ कैसे निष्पादित करें?

2024-11-06 को प्रकाशित
ब्राउज़ करें:683

How to Perform JOIN Queries Using CakePHP\'s Find Method?

CakePHP JOIN के साथ विधि खोजें

CakePHP खोज विधि तालिकाओं में शामिल होने सहित डेटाबेस से डेटा पुनर्प्राप्त करने का एक शक्तिशाली तरीका प्रदान करती है। यह आलेख केकपीएचपी की खोज विधि का उपयोग करके जॉइन क्वेरी करने के लिए दो तरीकों को प्रदर्शित करता है। संयमित व्यवहार. निम्नलिखित मॉडल संबंधों पर विचार करें:

वर्ग उपयोगकर्ता ऐपमॉडल का विस्तार करता है { सार्वजनिक $hasMany = सरणी('संदेश'); } क्लास संदेश ऐपमॉडल का विस्तार करता है { सार्वजनिक $belongsTo = सरणी('उपयोगकर्ता'); }

इस सेटअप के साथ, आप MessagesController से निम्नलिखित क्वेरी निष्पादित कर सकते हैं:

class User extends AppModel {
    public $hasMany = array('Message');
}

class Message extends AppModel {
    public $belongsTo = array('User');
}
यह क्वेरी उन सभी संदेशों को लाएगी जहां प्राप्तकर्ता (फ़ील्ड में) 4 है, और इसमें प्रत्येक संदेश के लिए संबंधित उपयोगकर्ता जानकारी भी शामिल होगी।

$this->Message->find('all', array(
    'contain' => array('User'),
    'conditions' => array(
        'Message.to' => 4
    ),
    'order' => 'Message.datetime DESC'
));

वैकल्पिक रूप से, आप केकपीएचपी के सिंटैक्स का उपयोग करके कस्टम जॉइन को परिभाषित कर सकते हैं। यह दृष्टिकोण तब उपयुक्त है जब आपको शामिल होने की शर्तों पर अधिक नियंत्रण की आवश्यकता होती है:

$this->Message->find('all', array( 'जुड़ता है' => सरणी( सारणी( 'तालिका' => 'उपयोगकर्ता', 'उपनाम' => 'यूजरजॉइन', 'प्रकार' => 'अंदर', 'शर्तें' => सरणी( 'UserJoin.id = Message.from' ) ) ), 'शर्तें' => सरणी( 'मैसेज.टू' => 4 ), 'फ़ील्ड' => सरणी('UserJoin.*', 'Message.*'), 'ऑर्डर' => 'मैसेज.डेटटाइम डीईएससी' ));

ध्यान दें कि इस उदाहरण में, आपको केकपीएचपी कन्वेंशन से मेल खाने के लिए फ़ील्ड नाम messages.from को messages.user_id में बदलना होगा।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729175536 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3