मैंने सिद्धांत के प्रलेखन में जलयोजन के बारे में पढ़ा है, लेकिन मैं अभी भी समझ नहीं पा रहा हूं कि यह क्या है।
कोई समझा सकता है?
मैंने सिद्धांत के प्रलेखन में जलयोजन के बारे में पढ़ा है, लेकिन मैं अभी भी समझ नहीं पा रहा हूं कि यह क्या है।
कोई समझा सकता है?
जवाबों:
हाइड्रेशन एक विधि है जिसका उपयोग क्वेरी परिणामों को वापस करने के लिए किया जाता है। उदाहरण के लिए:
HYDRATE_ARRAY
- यह आपको एक और अभिलेख द्वारा दर्शाए गए अभिलेखों की एक सरणी लौटाएगा:
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_ARRAY);
$resultSet = $q->execute(); // $resultSet is an array
foreach ($resultSet as $post) {
// $post is an array
echo $post['title'];
}
HYDRATE_RECORD
- यह आपको वस्तुओं का एक संग्रह ( Doctrine_Collection ) लौटाएगा :
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_RECORD); // Unnecessary, HYDATE_RECORD is default method
$resultSet = $q->execute(); // $resultSet is an Doctrine_Collection object
foreach ($resultSet as $post) {
// $post is an Post object
echo $post->getTitle();
echo $post['title']; // Each Doctrine's Model object implements ArrayAccess interface so this is possible
echo $post->myCustomMethod();
}
HYDRATE_SINGULAR_SCALAR
- क्वेरी के परिणाम के पहले कॉलम का मान लौटाएगा:
$q = Doctrine_Query::create()
->select('p.created_at')
->from('Post p')
->where('p.id = ?', 321)
->setHydrationMode(Doctrine::HYDRATE_SINGULAR_SCALAR);
$createdAt = $q->execute(); // $createdAt has value of first column from first record from result set (eg.: 2008-04-06 21:22:35)
कुछ और तरीके हैं, आप प्रलेखन में प्रत्येक के बारे में पढ़ सकते हैं।
orderBy()
संभालें) के बारे में नहीं है । यह आपके क्वेरी परिणाम के बारे में होगा , चाहे वह एकल स्केलर मान ( HYDRATE_SINGULAR_SCALAR
) होगा, एक सरणी या सरणियाँ जहां नेस्टेड सरणियाँ प्रत्येक डेटाबेस रिकॉर्ड ( HYDRATE_ARRAY
) या वस्तुओं का संग्रह ( ) का प्रतिनिधित्व करती हैं HYDRATE_RECORD
। क्या var_dump प्रत्येक जलयोजन मोड के लिए क्वेरी परिणाम पर - "? यह कैसे काम करता" को देखने के लिए सबसे अच्छा तरीका है कि
HYDRATE_SINGULAR_SCALAR
एक अपरिभाषित निरंतर त्रुटि देता है। HYDRATE_SINGLE_SCALAR
सही है।
Doctrine::HYDRATE_RECORD
में अब जाना जाता हैDoctrine::HYDRATE_OBJECT
$q->fetchOne(array(), Doctrine_Core::HYDRATE_ARRAY);
यह एक सिद्धांत संग्रह वस्तु के बजाय सिर्फ एक सरल सरणी लौटाएगा।