【发布时间】:2021-09-08 03:52:44
【问题描述】:
以下是我需要在 laravel eloquent 上执行的 SQL 查询。 SQL 返回预期的输出。
SELECT
orders.id,
orders.`status`,
order_type,
COUNT(order_type) as count
FROM
orders
WHERE
orders.`status` = 0 && order_type = 1
ORDER BY
orders.id DESC
我在 laravel 上试过的如下
$receved = Order::select('status', 'order_type')->where('status',0);
$relase = $receved->where('order_type', 1)->get();
$bulk = $receved->where('order_type', 2)->get();
$distiribute = $receved->where('order_type', 3)->get();
return response()->json([
'success' => true,
'message' => 'Statement Updated',
'orderStatment' => [
'relaseCount' => count($relase),
'bulkCount' => count($bulk),
'distiributeCount' => count($distiribute)
],
], 200);
我寻求建议/建议以正确的方式进行操作
我在 laravel 上得到的输出是
'orderStatment' => [
'relaseCount' => 14,
'bulkCount' => 0,
'distiributeCount' => 0
],
期望和SQL产生的输出是
'orderStatment' => [
'relaseCount' => 14,
'bulkCount' => 5,
'distiributeCount' => 4
],
表上有 8 种不同类型的 status 和 3 种不同类型的 order_type 我想获取每个状态的每个 order_type 计数
【问题讨论】:
-
你得到了什么与你期望什么?
-
@BrianThompson 我更新了问题并提供了更多信息
标签: php laravel eloquent laravel-8