2016-08-03 124 views
0

我正在使用laravel,我的仪表板控制器(它扩展了基本控制器)中的变量定义如下:Laravel中的“Undefined Constant/Variable”错误......无法显示刀片中的变量

仪表板控制器:

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(); 

此变量在我的主显示(索引/缺省的/ home /无论你怎么称呼它)使用{{}}语法如下HTML模板:

HTML Temp晚

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

,它完全显示结果我想到.... ,但我想告诉在我使用的是布局刀片相同的资料......我使用在相同的HTML结构layout.blade(目录:/应用/视图)与{{dashboardData.stats.recieved}}但我正在逐渐 “未定义的常量” 和 “未定义的变量” 错误...

以下是一瞥我routes.php文件的: -

routes.php文件

Route::group(array('prefix'=>'/','before'=>'auth.Ui|auth.token|api.csrf'),function(){ 
Route::get('/','[email protected]'); 

Route::get('/dashboard','[email protected]'); 
Route::get('/dashboard/baseUser','[email protected]'); 

//-------------some things-------------// 

Route::post('/dashaboard','[email protected]'); 

我对laravel挺新的,我已经在“查看::共享”跌跌撞撞“的观点:做”的事情,但并没有完全得到它是如何做到这一点完全&安全没有一个单一的错误... 我也有反映一些数据layout.blade了“/app/libraries/initiation.php”一库设置....我如何显示数据{{dashboardData.stats .recieved}}中没有错误layout.blade“未定义的常量”和“未定义的变量” ... ???还有什么是最正确,最实际和最重要的安全方式...... ???在你刀片模板不正确的方法

+0

您使用的角度或其他JS框架? “{{dashboardData.stats.recieved}}”的语法对于刀片服务器是错误的,不应“完全显示我期望的结果”。 – jfadich

回答

4

您访问的变量。

更换

{{dashboardData.stats.recieved}} 

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

请确保您从您的控制器变量传递给视图:

public function dashboardData() { 
    // your logic that generates $toReturn array 

    return view('your_view')->with('dashboardData', $toReturn); 
} 
+0

我最终没有得到的是为什么“它完全显示了我期望的结果”在OP的非刀片代码中......也许这是另一个模板引擎。 –

+0

@ jedrzej.kurylo它返回“Undefined variable:dashboardData” –

+0

您是否已将该变量传递到刀片模板? –