2015-02-10 87 views
2

我有些功能,我需要在我看來(comment.bade.php)來調用和返回的$ id,這是功能:功能與Laravel 5

function tree($id) { 
      $childs = DB::table('replays')->where('order', $id)->first(); 
      return view('comment', compact('childs')); 
    } 

我不知道正確的方式在Laravel 5中執行它,有人可以幫我在哪裏放置函數,以及如何將它調用到我的comment.blade.php?

回答

2

這是你如何添加自定義的功能,或者「助手」到Laravel 5

首先,我們需要保存我們的幫手的地方。在我的例子,我創建一個乾淨的app目錄下一個名爲helpers.php文件Laravel 5.在該文件中,我有以下的代碼安裝:

<?php 

if (! function_exists('tree')) 
{ 
    function tree($id) 
    { 
     // `app` is a built-in L5 helper function 
     // it returns our applications container instance 
     return app('db')->table('replays')->where('order', '=', $id)->first(); 
    } 
} 

下一頁您的應用程序將需要加載這些功能。我將使用composer加載它們。內Laravel 5的根文件夾中安裝,你會看到一個名爲composer.json開一點,你會看到一個autoload部分,修改看起來是這樣的:

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "files": [ 
     "app/helpers.php" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 

最後,你需要刷新作曲家自動加載,所以從您的CLI您需要輸入:composer dumpautoload

您現在應該可以從Laravel應用程序的任何位置調用該函數。

+0

感謝您的回答,但由於某種原因,它不會返回數據庫結果... – Vladimir 2015-02-10 15:55:20

0

最好在特定服務上創建任何bd代碼,以便從該表中檢索db值並初始化將在控制器方法的視圖上使用的任何變量。

+0

感謝您的回覆,你能告訴我一些例子嗎? – Vladimir 2015-02-10 13:41:37

+0

class CommentController extends Controller { public function comment($ id) {child} = DB :: table('playback') - > where('order',$ id) - > first(); return view('comment',compact('childs')); } } 你可以在控制器中這樣做。但我建議你最好將這些代碼移動到你自己的服務 – Raulucco 2015-02-10 14:12:26

+0

該代碼已經在控制器中,但不知道如何從我的刀片調用該函數:comment.bade.php,因此我可以返回$ id值。 ... – Vladimir 2015-02-10 14:17:41