Php 具有Laravel 5的函数

Php 具有Laravel 5的函数,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,我需要在视图中调用一些函数(comment.bade.php)并返回$id,这是一个函数: function tree($id) { $childs = DB::table('replays')->where('order', $id)->first(); return view('comment', compact('childs')); } 我不知道在Laravel 5中该怎么做,有人能帮我把函数放在哪里以及如何在我的com

我需要在视图中调用一些函数(comment.bade.php)并返回$id,这是一个函数:

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

我不知道在Laravel 5中该怎么做,有人能帮我把函数放在哪里以及如何在我的comment.blade.php中调用它吗?

最好在特定服务上生成任何bd代码,只用于从该表中检索db值,并初始化您将在控制器方法的视图上使用的任何变量。

这就是添加自定义函数或“助手”的方式去拉威尔5号

首先,我们需要把助手存放在某个地方。在我的示例中,我正在干净地安装Laravel 5的
app
目录下创建一个名为
helpers.php
的文件。在该文件中,我有以下代码:

<?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自动加载,因此需要从中键入:
composer dumpautoload


现在,您应该能够从Laravel应用程序中的任何位置调用该函数。

class CommentController扩展控制器{public function comment($id){$childs=DB::table('replays')->where('order',$id)->first();返回视图('comment',compact('childs');}你可以在控制器中这样做。但我建议您最好将此代码移动到您自己的服务中,该代码已经在controller中,但不知道如何从我的blade:comment.bade.php调用该函数,以便我可以返回$id值……您不应该从视图中调用任何函数。在控制器中设置任何变量,然后在视图中使用。视图不应具有if或循环以外的任何逻辑。在我的视图中是foreach循环,我需要在该循环中获得特定的$id来调用我的函数,如CommentController::comment($id);,你知道怎么做吗?重要的是你要把逻辑和视图分开。如果需要与另一个表中的每一行关联的数据,则应在sql中使用join子句。或者自己做个帮手
"autoload": {
    "classmap": [
        "database"
    ],
    "files": [
        "app/helpers.php"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},