| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- declare(strict_types=1);
 
- namespace Magento\InventoryCatalog\Model\ResourceModel;
 
- use Magento\Catalog\Model\ResourceModel\Product\Collection;
 
- use Magento\InventoryIndexer\Indexer\IndexStructure;
 
- use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface;
 
- /**
 
-  * Adapt adding and applying is in stock field to collection for Multi Stocks.
 
-  */
 
- class AddIsInStockFieldToCollection
 
- {
 
-     /**
 
-      * @var StockIndexTableNameResolverInterface
 
-      */
 
-     private $stockIndexTableProvider;
 
-     /**
 
-      * @param StockIndexTableNameResolverInterface $stockIndexTableProvider
 
-      */
 
-     public function __construct(
 
-         StockIndexTableNameResolverInterface $stockIndexTableProvider
 
-     ) {
 
-         $this->stockIndexTableProvider = $stockIndexTableProvider;
 
-     }
 
-     /**
 
-      * @param Collection $collection
 
-      * @param int $stockId
 
-      * @return void
 
-      */
 
-     public function execute($collection, int $stockId)
 
-     {
 
-         $tableName = $this->stockIndexTableProvider->execute($stockId);
 
-         $collection->getSelect()->join(
 
-             ['inventory_in_stock' => $tableName],
 
-             'e.sku = inventory_in_stock.sku',
 
-             []
 
-         )->where('inventory_in_stock.' . IndexStructure::IS_SALABLE . ' = ?', 1);
 
-     }
 
- }
 
 
  |