【问题标题】:Need advice with getting info from database and displaying需要从数据库获取信息并显示的建议
【发布时间】: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 中。

标签: php laravel


【解决方案1】:
public function userCount() { 
    return view('/admin', ['count' => User::count()]); 
}

找不到类“用户”,当您输入错误的类名或名称空间时发生。

【讨论】:

  • 我还需要在控制器中设置这个 userCount 吗?我在 admin.blade.php 中输入了 {{User::count()}} 并收到此错误。
  • 您应该在控制器中使用 User::count() 然后将其传递给 admin.blade.php。您可以在 admin.blade.php 中使用 {{ App\Models\User::count() }} 但它不是标准的。
猜你喜欢
  • 1970-01-01
  • 2014-05-16
  • 2014-12-10
  • 1970-01-01
  • 2019-04-15
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
相关资源
最近更新 更多