php - Laravel 5 的功能

标签 php mysql laravel laravel-5

我有一些函数需要在我的 View (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 中吗?

最佳答案

这是向 Laravel 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加载它们。在 Laravel 5 安装的根文件夹中,您将看到一个名为 composer.json 的文件,打开该文件,您将看到一个 autoload 部分,将其修改为如下所示这个:

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

最后,您需要刷新 Composer 自动加载,因此从您的 CLI您需要输入:composer dumpautoload

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

关于php - Laravel 5 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432735/

相关文章:

php - 如何加入 Laravel 5.4 中的两个表

mysql - 如何在 SQL 查询中比较过期日期是否超过 NOW()?我正在尝试使用 MYSQL 查询验证过期日期

php - 我可以独立使用 Laravel 的数据库层吗?

javascript - 如何通过 npm jquery-ui-datepicker-with-i18n 导入到 laravel?

php - Eloquent - 比较 save() 模型后的属性变化

php - MySQL将select与其他表的sum结合起来

php - 如何最好地从散列 ('sha512' ,'salt' 升级到 password_* 函数)

php - 匹配 SQL 列并将其解析到另一个 SQL 表中

mysql - Laravel 5.8 将 API 数据保存到数据库

php - 使用 PDO 连接到远程 MYSQL 服务器会导致相同的错误 SQLSTATE[HY000] [2002]