【发布时间】:2020-11-04 09:46:17
【问题描述】:
现在我使用 3 个查询得到 all items、active items、inactive items 及其计数。
这是我目前获取它们的功能。
public function getItems()
{
$items = $this->model->with('category')->latest()->get();
$count['all'] = $items->count();
$all = view('components.item', compact('items'))->render();
$items = $this->model->with('category')->latest()->whereStatus(1)->get();
$count['active'] = $items->count();
$active = view('components.item', compact('items'))->render();
$items = $this->model->with('category')->latest()->whereStatus(0)->get();
$count['inactive'] = $items->count();
$active = view('components.item', compact('items'))->render();
return response()->json([
'all'=>$all
'active'=>$active,
'inactive'=>$inactive,
'count'=>$count
]);
}
如何将这些查询优化为一个?
谢谢
【问题讨论】:
标签: php laravel eloquent query-optimization laravel-query-builder