如何将变量数据从Controller传递到Laravel中的app.blade.php?
我想将查询结果传递给模板(我的模板中有一个部分,其中显示了每个表的行数(计数)),因此在我的控制器中有以下功能:如何将变量数据从Controller传递到Laravel中的app.blade.php?,php,laravel,view,laravel-7,Php,Laravel,View,Laravel 7,我想将查询结果传递给模板(我的模板中有一个部分,其中显示了每个表的行数(计数)),因此在我的控制器中有以下功能: 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
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”
我如何解决这个问题??提前感谢:)使用返回视图('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
@foreach($infos作为$i)
{{$i->P}
@endforeach
没有名为i
的变量。。。您将它们命名为P,R,O,C
是否调用了dashboardInfos()
及其控制器?如果您希望在每次使用app.blade.php
布局时都能获得这些信息,我会使用Composer视图,但使用它时,会在vscode 2019中为我提供未定义的变量下划线!然后你可以把刀片模板{{$varname}放在页面上,我想让它显示在所有页面上,我怎么能做到呢?在这种情况下,请检查使用视图生成器。。。当您要部署它时,您将遇到问题,除非整个数据库已经为您在部署它的位置进行了设置,因为您要求框架在每次启动时进行数据库查询,包括在运行命令时进行查询。。。如果您想运行迁移来创建这些表,由于数据库异常,您将无法创建这些表