ম্যাজেন্টো 2: এসকিএল কোয়েরিতে ধারাটি সীমাবদ্ধ করে কীভাবে অর্ডারটি ব্যবহার করবেন


9

আমি ফলাফলগুলি ফিল্টার করতে নিম্নলিখিত কোড ব্যবহার করছি এবং আমি ফলাফলটি সীমাবদ্ধ করতে চাই।

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

আপনি কি এই <<<<<<< সংগ্রহ>> সেটপেজসাইজ (3)
— ম্যাজেন্টো 2

এটি চেষ্টা করে দেখুন, এটি আমার 3 টি রেকর্ডের ফলাফল করবে, তাই না?
— নিতিন পাওয়ার

হ্যাঁ আপনাকে গণনা নির্ধারণ করতে হবে
— ম্যাজেন্টো 2

উত্তর:


8

আপনি সংগ্রহের সীমা ব্যবহার করতে সেটপেজ সাইজ () ব্যবহার করতে পারেন

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

সেটপেজাইজ ফিল্ডে আপনি নিজের সীমাতে এখানে 10 পরিবর্তন করতে পারেন। আপনার কোনও সমস্যা আছে কিনা তা দয়া করে আমাকে জানান
— রকেশ জেসাদিয়া

আমি কীভাবে অবস্থান এবং বেতনের মতো দুটি ডেটা ফিল্ডের জন্য অর্ডার সেট করতে পারি।
— নিতিন পাওয়ার

আপনি দুটি বার সেটঅর্ডার () ব্যবহার করতে পারেন
— রকেশ জেসাদিয়া

আপনি দু'জন ASC ক্রমে থাকলে $ গিফট কালেকশন-> সেটঅর্ডার (অ্যারে ('পজিশন', 'বেতন'), এসসি) দিয়েও চেষ্টা করতে পারেন। উপরে বিভিন্ন সাজানোর ক্রমের জন্য ব্যবহৃত হয়।
— রাকেশ জেসাদিয়া

1
এইচআইআইআইটি এখন কাজ করছে = >>>> $ সংগ্রহ-> getSelect () -> ('দূরত্ব <'। $ লালনশীল) -> আদেশ ('দূরত্ব এএসসি') -> সীমা ($ পৃষ্ঠা আকার, $ পৃষ্ঠা);
— বিরজিৎসিংহ জালা

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');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.