【发布时间】:2020-07-12 12:50:45
【问题描述】:
我正在处理这个查询:(我希望我可以使用 eloquent 传递同样的查询并返回 JSON 作为响应。)
public function getChart(Request $request)
{
$_orders = DB::table('users')
->join('orders','orders.user_id','=','users.id')
->join('model_has_roles', 'users.id', '=', 'model_has_roles.model_id')
->select('users.id','users.name', DB::raw('COUNT(orders.id) as orders_by_user'), 'model_has_roles.role_id as rol')
->where('model_has_roles.role_id', '2');
$_orders->groupBy('orders.user_id', 'users.id', 'users.name', 'model_has_roles.role_id');
$orders=$_orders->get();
return ['orders' => $orders];
}
此查询已解决并返回结果:分配了工作订单的操作员的姓名以及该操作员拥有的处于已完成状态的工作订单数。 为此,将 users 表和 orders 表关联起来。
{
"orders": [
{
"id": 4,
"name": "Luis",
"orders_by_user": 2,
"rol": 2
},
{
"id": 6,
"name": "Jose",
"orders_by_user": 1,
"rol": 2
},
{
"id": 7,
"name": "Miguel",
"orders_by_user": 1,
"rol": 2
}
]
}
如果您查看我的查询响应,我的数组被称为 orders inside orders 我得到了我需要的东西:
"orders": [
{
"id": 4,
"name": "Luis",
"orders_by_user": 2,
"rol": 2
},
正如我之前提到的,我希望我可以使用 eloquent 传递同样的查询并返回 JSON 作为响应。
如何自定义此 JSON 响应? 应该是这样的:一个数组中的单独名称和另一个数组中的orders_by_user
我想要实现的目标示例
"users": [
{
"name": "Luis"
}
]
"orders": [
{
"orders_by_user": 2
}
]
我需要你的帮助
【问题讨论】: