我正在使用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();
此变量显示在我的main(index / default / home /无论你怎么称呼)html模板中,使用{{}}语法如下:
HTML模板
<div class="counter">
<div class="informational">{{dashboardData.stats.recieved}}</div>
</div>
它完全显示了我期望的结果.... 但我想在我正在使用的布局刀片中显示相同的数据...我在layout.blade(目录:/ app / views)中使用与{{dashboardData.stats.recieved}}相同的html结构但是我得到&#34; 未定义的常量&#34;和&#34; 未定义变量&#34;错误...
以下是我对routes.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');
我在laravel上很新,我偶然发现了&#34; view :: share&#34;和&#34;观看:制作&#34;事情,但没有完全得到它如何做到完美&amp;安全,没有一个错误...... 我还在&#34; /app/libraries/initiation.php"中设置了一个库。将一些数据反映到layout.blade ....如何在layout.blade中显示数据{{dashboardData.stats.recieved}}而不出现错误&#34; 未定义常量&# 34;和&#34; 未定义变量&#34; ...... ???这也是最正确,最实际,最重要的安全方式...... ???
答案 0 :(得分:4)
您在 Blade 模板中以不正确的方式访问变量。
替换
{{dashboardData.stats.recieved}}
与
{{$dashboardData['stats']['recieved']}}
确保将变量传递给控制器的视图:
public function dashboardData() {
// your logic that generates $toReturn array
return view('your_view')->with('dashboardData', $toReturn);
}