我想知道是否有人可以指出正确的方向。
我有一个基于 Laravel 构建的电子商务平台,非常有用!不过,我现在想为某些产品引入价格等级。
例如,我有一件商品的价格为 10.00 英镑。
我想为这个项目引入多个定价层
- 1 到 10 之间的订单 = 单价为 £10.00
- 11 点到 15 点之间的订单 = 单价为 £8.00
- 订单超过 16 人 = 单价为 £6.00
我想我会为我的产品表创建两个额外的表,称为层。
1 是 Product_tiers 包含
- 产品编号
- tier_id
另一个表Tiers
- 编号
- 等级名称
- percentage_drop
- 少于_数量
我的问题是在 Controller 中,当向平台持久化订单时,我将如何锻炼输入的订单数量是否在上述层级之一内?
任何人都可以指出正确的方向以便我进行研究吗?谷歌没有帮助
最佳答案
关系是正确的,唯一的问题在于 less_than_quantity
字段。首选 min_quantity
和 max_quantity
以更轻松地搜索合适的层级。
那么,您的决赛 table 是
product
- id
- name
- price
- blah blah...
tier
- id
- name
- percentage_drop
- min_quantity
- max_quantity
product_tier
- id
- product_id
- tier_id
你可以这样使用它
public function getProductTier($productId)
{
$quantity = request()->get('quantity');
$product = Product::find($id);
$tiers = $product->tiers;
$tier = $tiers->filter(function($tier) use ($quantity) {
$quantity >= $tier->min_quantity && $quantity < $max_quantity;
})->first();
$final_rate = ($product->price - (($tier->drop_percentage/100) * $product->price));
}
关于php - 具有价格等级的 Laravel 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106449/