gpt4 book ai didi

php - 是否可以在 laravel 中使用相关模型执行这个原始 sql 查询?

转载 作者:行者123 更新时间:2023-11-29 19:11:53 24 4
gpt4 key购买 nike

SELECT products.id, products.name, Count(order_product.product_id)
FROM products INNER JOIN (orders INNER JOIN order_product ON orders.id = order_product.order_id) ON products.id = order_product.product_id
GROUP BY products.id, products.name
ORDER BY Count(order_product.product_id) DESC

我实际上无法理解如何使用模型来做到这一点:

返回订单::with('products')->get();

在这行代码之后,我按此顺序获取了包含相关产品的所有订单,但我只能通过一个订单访问它们,我的意思是我无法对所有订单执行下一步操作:

return Order::with('products')->//all()//->products()->get();

我只能用 1 个这样的订单来完成:

return Order::with('products')->first()->products()->get() or
return Order::with('products')->find($id)->products()->get();

但我需要所有订单中的所有产品。

也许我做错了什么,我不需要执行上面描述的操作来使用相关模型执行此查询?

该查询的结果应该是最畅销的产品(下单频率最高的产品)

最佳答案

withCount() 查询生成器方法可能是最简单的方法:

Product::withCount('orders')->orderBy('orders_count', 'desc')->get();

关于php - 是否可以在 laravel 中使用相关模型执行这个原始 sql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com