求助贴!Laravel 操作中间表问题!

有这样一张三张表,dishes,orders, order_dish表,orders 与 dishes 是多对多的关系如下图

file

现在想要查询出销量前十的菜,每笔订单菜的销量存在order_dish这张中间表上,用 laraveleloquent折腾一下午,文档也看了很多,还是没有解决。发帖求大家帮忙!O(∩_∩)O谢谢

如果是表的设计等的问题也希望大家能详细指出,谢谢!

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
Summer

1. 尝试一个不同的思路:

dishes 表里面增加 ordered_count 字段

2. 更新逻辑:

在记录新的对应表数据的时候,更新 ordered_count 加一。

DB::table('dishes')->increment('ordered_count');

3. 查询

使用下面查询读取出带分页的销量前十的菜:

Dish::orderBy('ordered_count', 'desc')->paginate(10);
8年前 评论

@Summer 谢谢站长,又一次解决了我的问题。:laughing:

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!