gpt4 book ai didi

php - 存储公式的 MySQL/PHP

转载 作者:可可西里 更新时间:2023-11-01 06:48:02 24 4
gpt4 key购买 nike

困境:

我有一些选项需要存储定价数据。

每个选项都可以有不同的公式来确定其成本。

例如,一个选项的总成本将为成本 * 平方英尺,而另一个选项将为成本 * 周长英尺,而另一个选项仍然只是固定成本。

我公司拥有的几个网站正在从数据库中提取这些选项。

这些网站中的每一个都需要能够以完全相同的方式计算期权定价。

我们目前在每个站点上都有 PHP 代码从数据库中提取数据,然后确定如何计算它。

此方法的问题是我们有时会更改价格的计算方式,当发生这种情况时,我们必须编辑定价模块存储库,然后将其更新到托管这些站点之一的每台服务器。

我正在寻找更好的解决方案。

我正在尝试将公式存储在数据库中的选项记录中,然后每个站点只需要调用该选项,将数据应用于存储在那里的公式,然后运行该公式。

现在,这可以用 eval() 来完成,但我真的不想那样做。

Eval 示例让您更清楚地了解我正在尝试做什么:

$product->width = 3;
$product->length = 4;
$formula = $option->cost_formula; // $product->width * $product->length * $option->cost
eval($formula);

还有其他解决方案吗?

最佳答案

使用functions .

伪代码:

CREATE FUNCTION calculation1 (@cost decimal(6,2), @feet int)
RETURNS decimal(7,2)
AS
BEGIN
--Other formula calculations
RETURN @cost * @feet
END

然后您将从查询中调用该函数:SELECT calculation1('1.50', 15)...

通过这种方式,您可以更新对函数所做的任何更改,使用该函数的查询将产生相同的结果。

关于php - 存储公式的 MySQL/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com