hieunguyen
1/26/2019 - 10:13 AM

Magento 2 - Using getList

<?php
use Magento\Framework\Api\SearchCriteriaBuilder;

Class Test {
  /**
    * @var SearchCriteriaBuilder
  */
  private $searchCriteriaBuilder;
    
  public function usage() {
    $searchCriteria = $this->searchCriteriaBuilder->addFilter('customer_id', $customerId)->create();
    $orders = $this->orderRepository->getList($searchCriteria)->getItems();
  }
}

<?php

use Magento\Framework\Api\SearchCriteriaBuilder;

class Test {
  public function usage() {
    $searchCriteria = $this->searchCriteriaBuilder
            ->addFilter('visibility', 4)
            ->addFilter('status', 1)
            ->create();
            
    $searchResult = $this->productRepository->getList($searchCriteria);
  }
}
<?php

use Magento\Framework\Api\SearchCriteriaBuilder;

class Test {
  public function usage() {
    $visibleFilter = $this->filterBuilder
            ->setField('visibility')
            ->setConditionType('eq')
            ->setValue('4')
            ->create();
  
    $statusFilter = $this->filterBuilder
        ->setField('status')
        ->setConditionType('eq')
        ->setValue('1')
        ->create();
  
    $skuFilter = $this->filterBuilder
        ->setField('sku')
        ->setConditionType('eq')
        ->setValue('24-MB01')
        ->create();
        
    $searchCriteria = $this->searchCriteriaBuilder
            ->addFilters([$visibleFilter, $statusFilter])
            ->create();
    $searchResult = $this->productRepository->getList($searchCriteria);
  }
}