Php 为什么更新产品库存使用float将库存存储在数据库中

Php 为什么更新产品库存使用float将库存存储在数据库中,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,这是我上一个问题的续篇 打电话的用户指出 wc_update_product_stock() 使用另一个名为 update_product_stock() 在这个函数中,你可以找到捕获。它使用$wpdb->query将股票价值作为浮点值存储在数据库中 $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = %f WHERE post_id = %d AND meta_

这是我上一个问题的续篇

打电话的用户指出

wc_update_product_stock()
使用另一个名为

update_product_stock()
在这个函数中,你可以找到捕获。它使用$wpdb->query将股票价值作为浮点值存储在数据库中

$wpdb->query(
$wpdb->prepare(
    "UPDATE {$wpdb->postmeta} SET meta_value = %f 
    WHERE post_id = %d AND meta_key='_stock'",
    $stock_quantity,
    $product_id_with_stock
)
))


现在。谁能解释一下,为什么一个用来存储总是整数的数据的函数会将这个值转换为浮点值?

在看到您最初的问题后,我也开始对此感到好奇。深入研究,我发现版本2.2.7引入了一个调整,允许非整数库存数量。因此,一定存在需要非整数库存量的情况。我真的很期待了解更多关于这些情况的情况。我肯定在寻找答案。当您使用$product->get\u stock\u quantity()时,WooCommerce实际上会将这些浮点值过滤回整数。目前正在构建一些复杂的$wpdb->query,并在查询测试期间发现这些浮动存储在_stock元字段中。