Magento2 में विर्ट या / और क्वेरी कैसे करें?

Aug 17 2020

का चयन करें main_tablesku, main_tableorder_id, main_tableparent_item_id, main_tablename, main_tableproduct_idसे sales_order_itemके रूप में main_tableजहां ( order_id= '3') और ( parent_item_idशून्य है) और (( skuजैसे 'WSH06%') या ( skuजैसे 'MS10%') या ( skuजैसे 'MT08%'))

$sku = ['WSH06','MS10','MT08']; $this->itemF ->create()->getCollection()
                       ->addAttributeToSelect('sku')
                       ->addAttributeToSelect('order_id')
                       ->addAttributeToSelect('parent_item_id')
                       ->addAttributeToSelect('name')
                       ->addAttributeToSelect('product_id')
                       ->addAttributeToFilter('order_id', array('eq' => $order_id)) ->addAttributeToFilter('parent_item_id', array('null' => true)); foreach ($sku as $key => $value) {
    $collectionData->addFieldToFilter('sku',array('like' => $value.'%'));
}

जवाब

1 NiravPatel Aug 17 2020 at 18:02

यदि आप संग्रह में बनाना चाहते हैं या स्थिति चाहते हैं तो आपको नीचे दिए गए चरणों का पालन करना होगा।

$sku = ['WSH06','MS10','MT08']; $this->itemF ->create()->getCollection()
                       ->addAttributeToSelect('sku')
                       ->addAttributeToSelect('order_id')
                       ->addAttributeToSelect('parent_item_id')
                       ->addAttributeToSelect('name')
                       ->addAttributeToSelect('product_id')
                       ->addAttributeToFilter('order_id', array('eq' => $order_id)) ->addAttributeToFilter('parent_item_id', array('null' => true)); $likeField = [];
$likeValue = [] foreach ($sku as $key => $value) {
    $likeField[] = 'sku'; $likeValue[] = array('like' => $value.'%'); } $collectionData->addFieldToFilter($likeField, $likeValue);
echo $collectionData->getSelect()->__toString();

आप को लागू करने या स्थिति के लिए addFieldToFilter में सरणी तर्क पास करने की आवश्यकता है।

आशा है कि यह आपके लिए काम करेगा!

धन्यवाद और सादर, नीरव पटेल