如何将可变数据从 Controller 传递到 Laravel 中的 app.blade.php?

How can I pass variable data from Controller to app.blade.php in Laravel?

我想将查询的结果传递给模板(我的模板中有一个部分显示每个 table 的行数(计数))所以在我的控制器中我有这个功能:

public function dashboardInfos()
{
    $infos = DB::select("SELECT ( SELECT COUNT(*) from patients ) AS P, (SELECT COUNT(*) FROM rendez_vouses) AS R, (SELECT COUNT(*) FROM ordonnances) AS O, (SELECT COUNT(*) FROM consultations) AS C");   

    foreach($infos as $i)
    {
        View::share([
        'P' => $i->P, 
        'R' => $i->R, 
        'O' => $i->O, 
        'C' => $i->C]);
    }

}

在 app.blade.php 里面我放了:{{ $i->P }}

我收到的错误是“未定义变量:i”

我该如何解决这个问题??提前致谢:)

使用return view('name-blade-template', compact('varname')); compact('varname') 等同于 'varname'=>$varname

我通过删除控制器内部的函数 dashboardInfos() 使其工作,然后我转到引导函数内部的 AppServiceProvider 并编写了以下代码:

public function boot()
{
    View::share('infos', DB::select("SELECT ( SELECT COUNT(*) from patients ) AS P, (SELECT COUNT(*) FROM rendez_vouses) AS R, (SELECT COUNT(*) FROM ordonnances) AS O, (SELECT COUNT(*) FROM consultations) AS C"));
}

在 app.blade.php 里面我写了这个:

@foreach ($infos as $i)
   <h2 class="text-dark mb-1 font-weight-medium">{{ $i->P }}</h2>
@endforeach