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

我想将查询的结果传递给模板(我的模板中有一个部分,其中显示每个表的行数(计数)),因此在我的控制器中我有这个函数:


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”


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


梵蒂冈之花
浏览 163回答 2
2回答

不负相思意

我通过删除控制器内的函数(dashboardInfos())来实现此功能,然后我转到启动函数内的 AppServiceProvider 并编写了以下代码:public function boot(){&nbsp; &nbsp; 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)&nbsp; &nbsp;<h2 class="text-dark mb-1 font-weight-medium">{{ $i->P }}</h2>@endforeach

慕标5832272

使用 return view('name-blade-template', Compact('varname'));&nbsp;Compact('varname') 与 'varname'=>$varname 相同
打开App,查看更多内容
随时随地看视频慕课网APP