ম্যাজেন্টো 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.