有没有办法使用前端控制器以编程方式更新数量?

Is there any way to update QTY programmatically using front controller?

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$product = $objectManager->get('Magento\Catalog\Model\Product')->load($id);

$productStockData = $this->stockRegistry->getStockItem($product->getId()); 

$productStockData->setData('is_in_stock', 0);

$productStockData->setData('qty', 0);

$productStockData->setData('manage_stock', 1);

$productStockData->save();

echo "<pre>";

print_r($productStockData->getData());

exit;

$product->save();

此代码在数组打印中给出了正确的结果,但未反映在数据库中..

当它尝试打印产品数据时 return qty 0(零)

Result

您可以使用以下代码设置库存数据。参考Click Here

$productStockData->setStockData(array(
        'use_config_manage_stock' => 0, //'Use config settings' checkbox
        'manage_stock' => 1, //manage stock
        'max_sale_qty' => 2, //Maximum Qty Allowed in Shopping Cart
        'is_in_stock' => 1, //Stock Availability
        'qty' => 1 //qty
        )
    );