laravel - 如何在视图中显示登录用户的订单数?
问题描述
我想在导航栏顶部跨视图显示订单计数。我知道共享视图,但我遇到的问题在Auth::check()
这里总是错误的,即使我登录了。我怎样才能在boot
方法中发生以下情况AppServiceProvider
?有没有其他方法可以做到这一点,或者我必须依赖 Session vars?
if(Auth::check()) {
$orders = Order::where( [ 'user_id' => Auth::user()->id, 'status' => 0 ] )->get();
dd($orders);
}
解决方案
在您的App\Providers\AppServiceProvider
, 在boot
方法中:
public function boot()
{
view()->composer('*', function ($view) {
if(Auth::check()) {
$order_count = Order::where( [ 'user_id' => Auth::user()->id, 'status' => 0 ] )->count();
$view->with('order_count', $order_count);
}
});
}
推荐阅读
- python - 我正在合并多个表单,并在 django 的注册表单中获取 ValueError/,同时链接到另一个表单数据库
- loops - 运行所有单元 Jupyter
- javascript - e.PreventDefault() 未按预期触发,表单提交
- c# - 在 Xamarin Forms 中添加新的“注释”时如何将 SwipeView 添加到 CollectionView
- android - 在Android中覆盖文件磁盘集群
- dpdk - dpdk 20.11 中的接口或端口 ID 到 IP 地址
- codeigniter - Codeigniter 3中的表单验证使用不同的数据库
- spring-boot - 带有 mapstruct\lombok 和 swagger2 的 spring-boot 2.5.2(mapstruct 不起作用)
- mysql - MYSQL命令行,导入命令覆盖当前数据库?
- angular - 如何在 Angular 9 中更改 ngx-daterangepicker-material daterangepicker 的时区?