Magento 2: आदेश का उपयोग कैसे करें और वर्ग क्वेरी में खंड को सीमित करें


9

मैं परिणाम को फ़िल्टर करने के लिए निम्नलिखित कोड का उपयोग कर रहा हूं और मैं परिणाम को सीमित करना चाहता हूं।

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');

आप इस $ giftColletion-> setPageSize (3) का प्रयास किया था
Magento 2

यह कोशिश करेंगे, यह मुझे 3 रिकॉर्ड, सही परिणाम होगा?
नितिन पवार

हां आपको गिनती करने की आवश्यकता है
Magento 2

जवाबों:


8

आप संग्रह में सीमा का उपयोग करने के लिए setPageSize () का उपयोग कर सकते हैं

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');
$giftColletion->setOrder('salary','ASC');
$giftColletion->setPageSize(10);

आप यहां 10 सेट की सीमा में अपनी सीमा बदल सकते हैं। कृपया मुझे बताएं कि क्या आपके पास कोई मुद्दा है
राकेश जेसादिया

मैं स्थिति और वेतन जैसे दो डेटा फ़ील्ड के लिए ऑर्डर कैसे सेट कर सकता हूं।
नितिन पवार

आप दो बार सेटऑर्डर का उपयोग कर सकते हैं ()
राकेश जेसादिया

आप $ giftCollection-> setOrder (सरणी ('स्थिति', 'वेतन'), asc) के साथ भी कोशिश कर सकते हैं यदि दोनों asc क्रम में हैं। ऊपर का उपयोग विभिन्न प्रकार के क्रम के लिए किया जाता है।
राकेश जेसादिया

1
HIIII ITS अब काम कर रही है = >>> $ संग्रह-> getSelect () -> होने ('दूरी <'। $ redious) -> आदेश ('दूरी ASC') -> सीमा ($ pageSize, $ पेज);
बिरजितसिंह ज़ला

2

पृष्ठ आकार का उपयोग करके आप सीमा निर्धारित कर सकते हैं:

$giftColletion = $this->_giftFactory->getCollection();
    $giftColletion->addFieldToFilter('store_id', 1);
    $giftColletion->setOrder('position','ASC');
    $giftColletion->setPageSize($pageSize);
    $giftColletion->setCurPage($page);

2
$giftColletion = $this->_giftFactory->getCollection()->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position', 'ASC');
$giftColletion->setOrder('attribute_code', 'ASC'); 
$giftColletion->setPageSize($limitNo);

2

मैं आम तौर पर निम्नलिखित का उपयोग करता हूं, लेकिन setPageSize()यह भी मान्य है:

$collection->getSelect()->limit($limit);

सॉर्टिंग के बारे में, यदि आपकी सॉर्टिंग की दिशा सभी क्षेत्रों के लिए समान है, तो आप एक सरणी का उपयोग करके केवल एक कॉल में सेट कर सकते हैं:

$collection->setOrder([$field1, $field2, ...], $dir);


1

आप नीचे दिए गए कोड का उपयोग कर सकते हैं।

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1)->setPageSize($limit)->setCurPage($criteria)->setOrder('position','ASC');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.