我想把查询的结果传递给模板(我在模板中有一个部分显示每个表的行数(count)),所以在我的控制器中我有这个函数:
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}}
我得到的错误是“undefined variable:i”
我该如何解决这个问题?? 提前感谢:)
我通过删除控制器内部的函数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
使用返回视图('name-blade-template',compact('varname')); 压缩('varname')与'varname'=>$varname相同