Bagaimana cara Wirte OR / dan Query di magento2.?
Aug 17 2020
PILIH main_table
. sku
, main_table
. order_id
, main_table
. parent_item_id
, main_table
. name
, main_table
. product_id
FROM sales_order_item
AS main_table
WHERE ( order_id
= '3') AND ( parent_item_id
IS NULL) AND (( sku
LIKE 'WSH06%') OR ( sku
LIKE 'MS10%') OR ( sku
LIKE '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.'%'));
}
Jawaban
1 NiravPatel Aug 17 2020 at 18:02
Jika Anda ingin membuat atau mengkondisikan koleksi Anda perlu mengikuti langkah-langkah di bawah ini.
$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();
Anda perlu meneruskan argumen array di addFieldToFilter untuk menerapkan atau kondisi.
semoga ini berhasil untuk Anda!
Terima kasih & Salam, Nirav Patel
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan