为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
梵蒂冈之花 2023-06-24 18:25:43
我想将查询的结果传递给模板(我的模板中有一个部分,其中显示每个表的行数(计数)),因此在我的控制器中我有这个函数: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”我该如何解决这个问题?提前致谢 :)
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

我通过删除控制器内的函数(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


查看完整回答
反对 回复 2023-06-24
?
慕标5832272

TA贡献1966条经验 获得超4个赞

使用 return view('name-blade-template', Compact('varname')); Compact('varname') 与 'varname'=>$varname 相同



查看完整回答
反对 回复 2023-06-24
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号