2015-02-10 122 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