我想知道是否有人可以指出我正确的方向。
我有一个建立在Laravel上的电子商务平台,是一种享受!但是我现在想介绍某些产品的价格等级。
例如,我有一件售价10.00英镑的商品。
我想为此商品引入多个定价等级
我想到了我会在我的产品表中创建两个额外的表,称为层。
1是包含
的Product_tiers另一个表层
我的问题是在控制器中持有订单到平台时如何锻炼订单输入的数量是否在上述某个层之内?
有人能指出我正确的方向,所以我可以研究吗?谷歌没有帮助
答案 0 :(得分:3)
关系是正确的,唯一的问题在于less_than_quantity
字段。首选min_quantity
和max_quantity
可以更轻松地进行合适的层搜索。
所以,你的最终表是
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));
}