【发布时间】:2021-05-29 15:24:09
【问题描述】:
我正在尝试找出什么是最好和最简单的方法,而无需编写太多代码。所以有一个管理面板,我希望从数据库信息中显示很多东西,比如有多少用户、多少帖子等等。
这里是控制器:
public function userCount()
{
$count = DB::select('select count(*) as total from users');
return view('/admin', ['count' => $count[0]->total]);
}
那么这里是路线:
Route::get('/admin', [AdminController::class, 'userCount']);
然后在 admin.blade.php 中打印信息:
{{$count}}
问题是这样的制作方法是否正确,或者有更好的方法?
例如我可以创建 1 个控制器 InfoController 并从 FB 获取所有信息,将它们创建为函数,然后在 admin.blade.php 中打印?
我应该为每个功能使用一条新路线吗?
另外,如果代码中有任何修复,也许应该删除一些东西并且不需要,你可以告诉我。谢谢!
【问题讨论】:
-
Laravel 有聚合方法,你也可以直接调用
User::count()laravel.com/docs/8.x/eloquent#retrieving-aggregates -
public function userCount() { return view('/admin', ['count' => User::count()]); } -
@Hunman 当我尝试 User::count() 时,我收到错误 Class 'User' not found。我还包括使用 App\Models\User;在 AdminController 中。