首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按折扣百分比分类产品

按折扣百分比分类产品
EN

Stack Overflow用户
提问于 2022-01-11 18:40:06
回答 1查看 280关注 0票数 0

我试着在我的拉拉应用中按折扣百分比对产品进行分类。我的产品表中有两列,即价格,discount_price。我怎样才能订购它们,使折扣较高的产品在订单中显示出更高的价格。我试过跟随,但不起作用

代码语言:javascript
复制
$products = DB::table('products')->get();
$sorted_products = $products->sortBy('price - discount_price');

请给我指点,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-11 19:12:07

可以使用select方法和DB::raw向查询添加原始SQL组件。这个折扣是以货币单位计算的折扣,我们感兴趣的是获取所有字段(*)加上计算出的字段price - discount,我们将称之为real_price

代码语言:javascript
复制
$sorted_products = DB::table('product')
                       ->select(DB::raw("*, price - discount as real_price"))
                       ->orderBy("real_price")
                       ->get();

这将生成以下SQL查询并执行它:

代码语言:javascript
复制
SELECT *, price - discount as real_price FROM product ORDER BY real_price;

如果折扣按百分比计算,您可以:

代码语言:javascript
复制
$sorted_products = DB::table('product')
                       ->select(DB::raw("*, price * discount as real_discount"))
                       ->orderBy("real_discount")
                       ->get();

以更高的折扣价订购。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70671879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档