我正在创建一个库,它使用 \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/