PrestaShop - 更新库存数量问题

问题描述 投票:0回答:1

我在 ps_stock_availabe 表中更新数量时遇到问题

我正在尝试运行查询:


$query = "UPDATE `"._DB_PREFIX_."stock_available` SET quantity='".$quantity."' WHERE (id_product_attribute = '".$ID_product_attribute."' AND id_product = '".$ID_product."' )";

Db::getInstance()->Execute($query);

什么也没发生。值是正确的且不为空。 我可以通过 PHPMyAdmin “手动”更新 - 但不能使用脚本。

服务器日志中没有错误。

我正在 Hook 的模块中运行更新:

public function hookActionProductAttributeUpdate($params) {}

此 Hook 中的其他内容正在更新,没有任何问题。

我错过了什么??

php mysql sql-update prestashop
1个回答
0
投票

您的 SQL 查询还不够。

相反,您应该使用 PrestaShop 为此设计的核心功能:

StockAvailable::setQuantity($id_product, $id_product_attribute, $quantity)

或者,如果您想添加或删除库存数量而不是设置新数量,您也可以使用以下函数:

StockAvailable::updateQuantity($id_product, $id_product_attribute, $delta_quantity)
,其中
$delta_quantity
可以为正数或负数,具体取决于您是否要添加或删除数量.

© www.soinside.com 2019 - 2024. All rights reserved.