我目前有一个帮助函数,我通过检查.xlxs价格文件来计算产品价格,该文件有2列,A表示天数,B表示该行的价格。
现在,这一切都在我的报价页面上工作正常,显示价格,但是当我在处理付款时再次运行支票以确保价格正确时,我得到了不同的价值。完全相同的数据进入完全相同的辅助函数。
例如,在我的产品显示页面上的响应会将价格值显示为“40”。但是当我在我的BookingController(使用laravel)上调用它时,我得到“40”然后在它下面的另一个只是说“null”。这使我无法计算转换为美分/便士的价格与条带一起使用,因为它表示无效的正整数。
我已经完成了一些调试,当我在辅助函数中输入$ price时它只返回“40”但是当我在控制器中的变量上显示无效的价格和“null”时它
这里有什么想法吗?
我已经尝试在辅助函数中返回值,并且我也尝试回显并打印它,所有相同的问题。我现在就告诉你我的代码:
$price2 = (new \App\Price\GeneratePrice($duration, $base_price))->calculate();
这是辅助函数
public function calculate()
{
$pricelist = '/public/pricelist.xlsx';
\Excel::load($pricelist, function ($reader) {
$days = $this->duration;
$base = $this->basePrice;
$array = $reader->select(array('days', 'price'))->toArray();
$size = sizeof($array);
if ($days > $size) {
$key = array_search($size, array_column($array, 'days'));
$diff = $this->duration - $size;
$k = $array[$key]['price'];
$baseprice = $base * $diff;
$price = $k + $baseprice;
echo $price;
}
else {
$key = array_search($days, array_column($array, 'days'));
$k = $array[$key]['price'];
$price = $k;
echo $price;
}
});
}
这是我得到的回应
38
“NULL”