Magento2'de OR / ve Sorgu Nasıl Bağlanır?
Aug 17 2020
SEÇ main_table
. sku
, main_table
. order_id
, main_table
. parent_item_id
, main_table
. name
, main_table
. product_id
DAN sales_order_item
AS main_table
WHERE ( order_id
= '3') VE ( parent_item_id
IS NULL) VE (( sku
BENZER 'WSH06%') OR ( sku
LIKE 'MS10%') OR ( sku
GİBİ '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.'%'));
}
Yanıtlar
1 NiravPatel Aug 17 2020 at 18:02
Koleksiyon yapmak veya şartlandırmak istiyorsanız aşağıdaki adımları izlemeniz gerekir.
$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();
uygulamak veya koşullandırmak için addFieldToFilter içinde dizi bağımsız değişkenini iletmeniz gerekir.
umarım bu sizin için çalışır!
Teşekkürler ve Saygılarımızla, Nirav Patel
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'