2016-08-03 57 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

您是否已將該變量傳遞到刀片模板? –

相關問題