Laravel从一个表中查找所有记录,这些记录的顺序取决于另一个表

Jugal Kishore Chanda

我的数据库架构是

products
--id
--name

orders
--id
--product_id
--quantity

由此,我想找到所有产品,其中如果产品数量的总和少于该数量,那么该产品的顺序将首先出现,最后出现该产品数量的最高总和。为此,我等效的MySQL代码是

SELECT *
FROM products p
JOIN (
SELECT product_id,sum(quantity) as s
FROM orders
GROUP BY (product_id)) i on p.id = i.product_id
ORDER BY s ASC

我如何在laravel中轻松做到这一点?

哈里德·朱奈德(M Khalid Junaid)

我相信您已经使用适当的关系(例如产品hasMany()订单)设置了模型,然后使用雄辩的语言,可以使用以下命令获得产品以及订购数量的总和withSum

 $products = Product::withSum('orders', 'quantity')
                    ->orderBy('orders_sum_quantity')
                    ->get();

如果您使用的是不支持的旧版本laravel,withSum则可以将withCount方法调整

 $products = Product::withCount([
                            'orders as quantity' => function ($query) {
                                        $query->select(DB::raw("sum(quantity)"));
                            }
                    ])->orderBy('quantity')
                      ->get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从一个表中选择所有记录并从另一个表中匹配记录

来自分类Dev

将记录从一个表中的特定列插入到另一个表中,具体取决于多个条件

来自分类Dev

从一个表中查找在另一个表的关联记录中没有特定字段值的记录的记录

来自分类Dev

MySQL从一个表中查询最新记录,但从另一个表中查询顺序

来自分类Dev

如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

来自分类Dev

将所有mysql记录从一个表更新到另一个表

来自分类Dev

查找不在另一个表中的记录

来自分类Dev

在另一个表中查找丢失的记录

来自分类Dev

从一个表中选择记录,而另一个表中没有两列

来自分类Dev

如何从一个表中选择另一个表中没有外键的记录

来自分类Dev

从一个表中选择记录,这些记录在另一个表中不存在

来自分类Dev

如何在winforms中通过c#从一个表中获取所有记录并将其保存在另一个表中?

来自分类Dev

SQLite:从另一个表中指定的表中删除所有记录

来自分类Dev

SQLite:从另一个表中指定的表中删除所有记录

来自分类Dev

如何从另一个表中的列日期之间获取一个表中的所有记录

来自分类Dev

将记录从一个表随机分配到另一个表

来自分类Dev

查找另一个表引用的 SQL 记录

来自分类Dev

需要从一个表中获取记录,而另一个表中没有该记录

来自分类Dev

从另一个表更新表中的记录

来自分类Dev

在主表中查找与SQL Server中另一个表中的记录匹配的记录

来自分类Dev

如何使用另一个表中的所有记录作为计数列?

来自分类Dev

SQLite查询选择另一个表中不存在的所有记录

来自分类Dev

在oracle中查询以从一个表中获取多个记录并输入另一个表

来自分类Dev

根据一个键消除所有重复项,并保留一个表中没有在另一个表中的记录

来自分类Dev

根据另一个表(部门)中的值从一个表(产品)中提取记录

来自分类Dev

根据另一个表的“相似”值从一个表中检索记录

来自分类Dev

SQL查询-从一个表中选择全部,在另一个表中匹配记录

来自分类Dev

从一个表中删除记录并将其更新到另一个表的单击事件

来自分类Dev

使用postgres for循环中的记录将记录从一个表插入到另一个表

Related 相关文章

  1. 1

    从一个表中选择所有记录并从另一个表中匹配记录

  2. 2

    将记录从一个表中的特定列插入到另一个表中,具体取决于多个条件

  3. 3

    从一个表中查找在另一个表的关联记录中没有特定字段值的记录的记录

  4. 4

    MySQL从一个表中查询最新记录,但从另一个表中查询顺序

  5. 5

    如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

  6. 6

    将所有mysql记录从一个表更新到另一个表

  7. 7

    查找不在另一个表中的记录

  8. 8

    在另一个表中查找丢失的记录

  9. 9

    从一个表中选择记录,而另一个表中没有两列

  10. 10

    如何从一个表中选择另一个表中没有外键的记录

  11. 11

    从一个表中选择记录,这些记录在另一个表中不存在

  12. 12

    如何在winforms中通过c#从一个表中获取所有记录并将其保存在另一个表中?

  13. 13

    SQLite:从另一个表中指定的表中删除所有记录

  14. 14

    SQLite:从另一个表中指定的表中删除所有记录

  15. 15

    如何从另一个表中的列日期之间获取一个表中的所有记录

  16. 16

    将记录从一个表随机分配到另一个表

  17. 17

    查找另一个表引用的 SQL 记录

  18. 18

    需要从一个表中获取记录,而另一个表中没有该记录

  19. 19

    从另一个表更新表中的记录

  20. 20

    在主表中查找与SQL Server中另一个表中的记录匹配的记录

  21. 21

    如何使用另一个表中的所有记录作为计数列?

  22. 22

    SQLite查询选择另一个表中不存在的所有记录

  23. 23

    在oracle中查询以从一个表中获取多个记录并输入另一个表

  24. 24

    根据一个键消除所有重复项,并保留一个表中没有在另一个表中的记录

  25. 25

    根据另一个表(部门)中的值从一个表(产品)中提取记录

  26. 26

    根据另一个表的“相似”值从一个表中检索记录

  27. 27

    SQL查询-从一个表中选择全部,在另一个表中匹配记录

  28. 28

    从一个表中删除记录并将其更新到另一个表的单击事件

  29. 29

    使用postgres for循环中的记录将记录从一个表插入到另一个表

热门标签

归档