Magento 2 - Programatically updating the inventory store wise not working
I have a function to update the product inventory progrmmatically.below is my function in the helper file.
protected $stockRegistry;
...
public function __construct(
.... //Some code--
MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry) {
$this->stockRegistry = $stockRegistry;
}
public function updateStockAndPricesByStore($productId,$store_data,$sku)
{
$productFactory = $this->_productFactory->create();
foreach($store_data as $store){
$store_datas = explode("-",$store);
$store_id = $store_datas[0];
$qty = $store_datas[1];
$price = $store_datas[2];
$this->productResourceModel->load($productFactory, $productId);
$productFactory->setStoreId($store_id);
$productFactory->setPrice($price);
$this->productResourceModel->saveAttribute($productFactory, 'price');
$stockItem = $this->stockRegistry->getStockItemBySku($sku, $store_id);
//$stockItem->setStoreId($store_id);
$stockItem->setQty($qty);
echo "Stock Also Updated";
$stockItem->setIsInStock((bool)$qty); // this line
$this->stockRegistry->updateStockItemBySku($sku, $stockItem);
}
}
This is my array i am passing as $store_data
.
Array ( [0] => 1-11-11 [1] => 2-22-22 ) - (store_id - qty - price)
Whenever updating for both stores, last qty updated to both store but price is correctly updating .
How can i update the inventory store wise programatically in Magento 2.
product magento2.2 price inventory
add a comment |
I have a function to update the product inventory progrmmatically.below is my function in the helper file.
protected $stockRegistry;
...
public function __construct(
.... //Some code--
MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry) {
$this->stockRegistry = $stockRegistry;
}
public function updateStockAndPricesByStore($productId,$store_data,$sku)
{
$productFactory = $this->_productFactory->create();
foreach($store_data as $store){
$store_datas = explode("-",$store);
$store_id = $store_datas[0];
$qty = $store_datas[1];
$price = $store_datas[2];
$this->productResourceModel->load($productFactory, $productId);
$productFactory->setStoreId($store_id);
$productFactory->setPrice($price);
$this->productResourceModel->saveAttribute($productFactory, 'price');
$stockItem = $this->stockRegistry->getStockItemBySku($sku, $store_id);
//$stockItem->setStoreId($store_id);
$stockItem->setQty($qty);
echo "Stock Also Updated";
$stockItem->setIsInStock((bool)$qty); // this line
$this->stockRegistry->updateStockItemBySku($sku, $stockItem);
}
}
This is my array i am passing as $store_data
.
Array ( [0] => 1-11-11 [1] => 2-22-22 ) - (store_id - qty - price)
Whenever updating for both stores, last qty updated to both store but price is correctly updating .
How can i update the inventory store wise programatically in Magento 2.
product magento2.2 price inventory
add a comment |
I have a function to update the product inventory progrmmatically.below is my function in the helper file.
protected $stockRegistry;
...
public function __construct(
.... //Some code--
MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry) {
$this->stockRegistry = $stockRegistry;
}
public function updateStockAndPricesByStore($productId,$store_data,$sku)
{
$productFactory = $this->_productFactory->create();
foreach($store_data as $store){
$store_datas = explode("-",$store);
$store_id = $store_datas[0];
$qty = $store_datas[1];
$price = $store_datas[2];
$this->productResourceModel->load($productFactory, $productId);
$productFactory->setStoreId($store_id);
$productFactory->setPrice($price);
$this->productResourceModel->saveAttribute($productFactory, 'price');
$stockItem = $this->stockRegistry->getStockItemBySku($sku, $store_id);
//$stockItem->setStoreId($store_id);
$stockItem->setQty($qty);
echo "Stock Also Updated";
$stockItem->setIsInStock((bool)$qty); // this line
$this->stockRegistry->updateStockItemBySku($sku, $stockItem);
}
}
This is my array i am passing as $store_data
.
Array ( [0] => 1-11-11 [1] => 2-22-22 ) - (store_id - qty - price)
Whenever updating for both stores, last qty updated to both store but price is correctly updating .
How can i update the inventory store wise programatically in Magento 2.
product magento2.2 price inventory
I have a function to update the product inventory progrmmatically.below is my function in the helper file.
protected $stockRegistry;
...
public function __construct(
.... //Some code--
MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry) {
$this->stockRegistry = $stockRegistry;
}
public function updateStockAndPricesByStore($productId,$store_data,$sku)
{
$productFactory = $this->_productFactory->create();
foreach($store_data as $store){
$store_datas = explode("-",$store);
$store_id = $store_datas[0];
$qty = $store_datas[1];
$price = $store_datas[2];
$this->productResourceModel->load($productFactory, $productId);
$productFactory->setStoreId($store_id);
$productFactory->setPrice($price);
$this->productResourceModel->saveAttribute($productFactory, 'price');
$stockItem = $this->stockRegistry->getStockItemBySku($sku, $store_id);
//$stockItem->setStoreId($store_id);
$stockItem->setQty($qty);
echo "Stock Also Updated";
$stockItem->setIsInStock((bool)$qty); // this line
$this->stockRegistry->updateStockItemBySku($sku, $stockItem);
}
}
This is my array i am passing as $store_data
.
Array ( [0] => 1-11-11 [1] => 2-22-22 ) - (store_id - qty - price)
Whenever updating for both stores, last qty updated to both store but price is correctly updating .
How can i update the inventory store wise programatically in Magento 2.
product magento2.2 price inventory
product magento2.2 price inventory
asked 6 mins ago
MujahidhMujahidh
1,41012036
1,41012036
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Magento2 Qty field is a global field. So, you can not update the qty at store view/website label.
You want to store view qty then you have to do customization or you have to use any 3rd party extension.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f267182%2fmagento-2-programatically-updating-the-inventory-store-wise-not-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Magento2 Qty field is a global field. So, you can not update the qty at store view/website label.
You want to store view qty then you have to do customization or you have to use any 3rd party extension.
add a comment |
Magento2 Qty field is a global field. So, you can not update the qty at store view/website label.
You want to store view qty then you have to do customization or you have to use any 3rd party extension.
add a comment |
Magento2 Qty field is a global field. So, you can not update the qty at store view/website label.
You want to store view qty then you have to do customization or you have to use any 3rd party extension.
Magento2 Qty field is a global field. So, you can not update the qty at store view/website label.
You want to store view qty then you have to do customization or you have to use any 3rd party extension.
answered 1 min ago
Amit Bera♦Amit Bera
59.3k1675177
59.3k1675177
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f267182%2fmagento-2-programatically-updating-the-inventory-store-wise-not-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown