laravel - 反射异常 : Class db does not exist

标签 laravel

我正在创建一个库,它使用 \Illuminate\Support\Facades\DB 来引用数据库。我在调用 DB::table()->where()->get() 时遇到以下异常:“ReflectionException:类 db 不存在。”问题是什么,我需要做什么来克服它?

我知道有一个进程使用 \Illuminate\Database\Capsule\Manager 建立到数据库的连接。但是我还没有找到任何关于如何使用 \Illuminate\Support\Facades\DB 进行这项工作的示例。

代码示例:

use \Illuminate\Support\Facades\DB;

abstract class Data
{
    public static function tables($prefix, $mode=null)
    {
        $outbound = array();
        $tables = DB::table('information_schema.tables')->where('TABLE_NAME', 'LIKE', $prefix.'_%')->get();
        foreach ($tables as $table) {
            ...
        }
        return $outbound;
    }
}

堆栈跟踪:

~/vendor/laravel/framework/src/Illuminate/Container/Container.php:749
~/vendor/laravel/framework/src/Illuminate/Container/Container.php:644
~/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:709
~/vendor/laravel/framework/src/Illuminate/Container/Container.php:1203
~/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:175
~/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:144
~/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:231
~/Data.php:XXX

最佳答案

因为它是一个门面,将其添加到类的顶部以使其工作:

use DB;

或者使用完整的命名空间:

$tables = \DB::table...

关于laravel - 反射异常 : Class db does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392458/

相关文章:

laravel - Laravel如何在Youtube API上获取访问 token

php - 如何在 Laravel 中使用旧输入进行重定向?

image - 如何在 Laravel 5.1 中从数据库中检索图像?

PHP 函数内的 Javascript Ajax 数据

php - Laravel Eloquent ORM 方法基于 ids 数组检索多行

php - npm run开发和npm run生产之间的区别

javascript - PHP Javascript 更改浏览器后退按钮行为 Laravel

php - Laravel 中的 Controller 构造函数

laravel - Homestead 给出 404 Not Found

php - Laravel - 加载常见的页眉和页脚以查看