Created
May 28, 2025 09:46
-
-
Save magevision/1e98384c73302f2f9ecdb0ac86792fb5 to your computer and use it in GitHub Desktop.
GetOrdersByShippingMethod
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| declare(strict_types=1); | |
| namespace MageVision\Blog93\Block; | |
| use Magento\Framework\Api\FilterBuilder; | |
| use Magento\Framework\Api\SearchCriteriaBuilder; | |
| use Magento\Framework\View\Element\Template; | |
| use Magento\Framework\View\Element\Template\Context; | |
| use Magento\Sales\Api\OrderRepositoryInterface; | |
| class Orders extends Template | |
| { | |
| private SearchCriteriaBuilder $searchCriteriaBuilder; | |
| private FilterBuilder $filterBuilder; | |
| private OrderRepositoryInterface $orderRepository; | |
| /** | |
| * @param Context $context | |
| * @param SearchCriteriaBuilder $searchCriteriaBuilder | |
| * @param FilterBuilder $filterBuilder | |
| * @param OrderRepositoryInterface $orderRepository | |
| * @param array $data | |
| */ | |
| public function __construct( | |
| Context $context, | |
| SearchCriteriaBuilder $searchCriteriaBuilder, | |
| FilterBuilder $filterBuilder, | |
| OrderRepositoryInterface $orderRepository, | |
| array $data = [] | |
| ) { | |
| parent::__construct($context, $data); | |
| $this->searchCriteriaBuilder = $searchCriteriaBuilder; | |
| $this->filterBuilder = $filterBuilder; | |
| $this->orderRepository = $orderRepository; | |
| } | |
| /** | |
| * Get orders purchased with flatrate shipping method | |
| * | |
| * @return void | |
| */ | |
| public function getOrderByShippingMethod() | |
| { | |
| $searchCriteria = $this->searchCriteriaBuilder | |
| ->addFilters( | |
| [ | |
| $this->filterBuilder->setField('shipping_method')->setValue('flatrate_flatrate')->create() | |
| ] | |
| ) | |
| ->create(); | |
| $orders = $this->orderRepository->getList($searchCriteria); | |
| foreach ($orders->getItems() as $order) { | |
| //Your logic | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment