计数记录多表的最佳方法 - Laravel
Posted
技术标签:
【中文标题】计数记录多表的最佳方法 - Laravel【英文标题】:Best Way to Count Record Many Table - Laravel 【发布时间】:2020-12-24 07:39:18 【问题描述】:我想在一个视图中一次显示多个表中的记录数。 我用 eloquent count 试过了。
public function index()
$order = Order::count();
$owner = Owner::count();
$room = Room::count();
$member = Transaction::where([
['status', 'waiting'],
['type', 1]
])->count();
$highlight = Transaction::where([
['status', 'waiting'],
['type', 2]
])->count();
return view('admin.index', [
'order' => $order,
'owner' => $owner,
'room' => $room,
'member' => $member,
'highlight' => $highlight
]);
有没有更好的办法?
【问题讨论】:
与什么相比更好的方法? 对于事务计数,您可以使用条件和Laravel use multiple where and sum in single clause在单个查询中获取它 【参考方案1】:您也可以使用view-composers。但这并不是更好,只是不同。我的意思是你无论如何都要查询,那你为什么认为应该有更好的方法呢?
【讨论】:
谢谢。我只是认为有更好的查询方法。假设一个原始查询@Flo 恕我直言,您的方法很好。您可以像这样比较查询:DB::connection()->enableQueryLog(); User::count(); dd(DB::getQueryLog());
这样您还可以获得查询时间和执行的查询。以上是关于计数记录多表的最佳方法 - Laravel的主要内容,如果未能解决你的问题,请参考以下文章