2 回答
TA贡献1871条经验 获得超8个赞
您只需将当前价格属性与数组中前一个对象的价格进行比较?
像这样的东西应该有效:
<?php foreach($product_prices_list as $key => $product_price_list):?>
<tr>
<td><?= esc($product_price_list->created_at);?></td>
<td class="text-center"><?= esc(number_format($product_price_list->price));?></td>
<td class="text-center"><?= (!empty($product_prices_list[$key - 1])) ? $product_prices_list[$key + 1]->price - $product_price_list->price: 0; ?></td> //show difference between of two price
</tr>
<?php endforeach;?>
TA贡献1875条经验 获得超5个赞
如果您运行的是 MySQL 8.0,则可以使用窗口函数直接在数据库中计算此信息:
select
t.*,
price
- lag(price, 1, price) over(partition by product_id order by created_at)
as price_diff
from mytable t
这会向结果集中再添加一列,其中包含同一产品的当前价格与之前价格之间的差异。
- 2 回答
- 0 关注
- 120 浏览
添加回答
举报