Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. protected $productRepository;
  2. protected $stockRegistry;
  3.  
  4. public function __construct(
  5. ...
  6. MagentoCatalogModelProductRepository $productRepository,
  7. MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry,
  8. ...
  9. )
  10. {
  11. $this->productRepository = $productRepository;
  12. $this->stockRegistry = $stockRegistry;
  13. }
  14.  
  15. $outOfStockProducts = array(1, 3, 4, 5, 9);
  16. $inStockProducts = array(2, 6, 7, 8, 10);
  17.  
  18. //For out of stock products
  19. foreach($outOfStockProducts as $k=>$id){
  20. $product = $this->productRepository->getById($id);
  21. $stockItem = $this->stockRegistry->getStockItemBySku($product->getSku());
  22. $stockItem->setQty(0);
  23. $this->stockRegistry->updateStockItemBySku($product->getSku(), $stockItem);
  24. }
  25.  
  26. //For 100 stock products
  27. foreach($inStockProducts as $k=>$id){
  28. $product = $this->productRepository->getById($id);
  29. $stockItem = $this->stockRegistry->getStockItemBySku($product->getSku());
  30. $stockItem->setQty(100);
  31. $this->stockRegistry->updateStockItemBySku($product->getSku(), $stockItem);
  32. }
  33.  
  34. $objectManager = MagentoFrameworkAppObjectManager::getInstance();
  35. $productRepository = $objectManager->create('MagentoCatalogModelProductRepository');
  36. $stockRegistry = $objectManager->create('MagentoCatalogInventoryApiStockRegistryInterface');
  37.  
  38. $outOfStockProducts = array(1, 3, 4, 5, 9);
  39. $inStockProducts = array(2, 6, 7, 8, 10);
  40.  
  41. //For out of stock products
  42. foreach($outOfStockProducts as $k=>$id){
  43. $product = $productRepository->getById($id);
  44. $stockItem = $stockRegistry->getStockItemBySku($product->getSku());
  45. $stockItem->setQty(0);
  46. $stockRegistry->updateStockItemBySku($product->getSku(), $stockItem);
  47. }
  48.  
  49. //For 100 stock products
  50. foreach($inStockProducts as $k=>$id){
  51. $product = $productRepository->getById($id);
  52. $stockItem = $stockRegistry->getStockItemBySku($product->getSku());
  53. $stockItem->setQty(100);
  54. $stockRegistry->updateStockItemBySku($product->getSku(), $stockItem);
  55. }
  56.  
  57. UPDATE cataloginventory_stock_item set qty=100 where product_id IN(2, 6, 7, 8, 10);
  58. UPDATE cataloginventory_stock_status SET qty=100 AND stock_status=1 WHERE product_id IN(2, 6, 7, 8, 10);
  59.  
  60.  
  61. UPDATE cataloginventory_stock_item set qty=0 where product_id IN(2, 6, 7, 8, 10);
  62. UPDATE cataloginventory_stock_status SET qty=0 AND stock_status=0 WHERE product_id IN(2, 6, 7, 8, 10);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement