";未定义的常数/变量“;Laravel错误...无法在刀片中显示变量


"Undefined Constant/Variable" Error in Laravel......Unable to show variable in blade

我正在使用laravel,我的仪表板控制器中有一个变量(它扩展了基本控制器)定义如下:

仪表板控制器:

public function dashboardData(){
    $toReturn = array();
    $toReturn['siteTitle'] = $this->data['panelInit']->settingsArray['siteTitle'];

    //------other things-----------//

    $toReturn['stats'] = array();
    //------some other things-----------//

    $toReturn['stats']['recieved'] = messagesList::where('userId',$this->data['users']->id)->where('messageStatus',1)->count();

这个变量显示在我的主(index/default/home/不管你叫它什么)html模板中,使用如下{{}}语法:

HTML模板

   <div class="counter">   
   <div class="informational">{{dashboardData.stats.recieved}}</div>
   </div>

它完全显示了我所期望的结果。。。。但我想在我正在使用的布局刀片中显示相同的数据。。。我在layout.blade(目录:/app/views)中使用了与{{dashboardData.stats.received}}相同的html结构,但我收到了"未定义常量"answers"未定义变量)错误。。。

以下是我的路线的一瞥。php:-

routes.php

Route::group(array('prefix'=>'/','before'=>'auth.Ui|auth.token|api.csrf'),function(){
Route::get('/','DashboardController@index');
Route::get('/dashboard','DashboardController@dashboardData');
Route::get('/dashboard/baseUser','DashboardController@baseUser');
//-------------some things-------------//
Route::post('/dashaboard','DashboardController@dashaboardData');

我对拉拉威尔还很陌生,我偶然发现了"观点:分享"answers"观点:制造"这两个词,但我不太明白如何完美地做到这一点;安全无误。。。我在"/app/librarys/initiation.php"中也有一个库设置,它将一些数据反映到layout.blade……如何在布局.blade中显示数据{{dashboardData.stats.received}},而不显示错误"未定义常量"answers"未定义变量。。。???以及什么是最正确、最实用、最重要的安全方式。。。???

您在Blade模板中以不正确的方式访问变量。

更换

{{dashboardData.stats.recieved}}

带有

{{$dashboardData['stats']['recieved']}}

确保将变量从控制器传递到视图:

public function dashboardData() {
  // your logic that generates $toReturn array
  return view('your_view')->with('dashboardData', $toReturn);
}