【问题标题】:Laravel: Class 'App\DB' not foundLaravel:找不到类“App\DB”
【发布时间】:2018-04-11 05:46:33
【问题描述】:

我正在尝试使用DB 类来运行查询。我在我的控制器中使用它是这样的:

use \DB;

我在我的代码中使用它是这样的:

$changeCar = DB::select(DB::raw($query));

我试过像这样包含它:

use Illuminate\Support\Facades\DB

但还是一样。另外,尝试在代码中使用反斜杠而不是像这样包含它:

$changeCar = \DB::select(\DB::raw($query));

我的代码:

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use \DB;


class TicketsController extends Controller
{
    public function myTickets()
    {
        $user = Auth::user();
        $changeCar = DB::select(DB::raw($query));
    }
}

还是一样。我在这里做错了什么?有什么帮助吗?

P.S:我的laravel版本是5.4.33

【问题讨论】:

    标签: php class laravel-5 namespaces


    【解决方案1】:

    我通过在我的模型顶部添加以下内容来使其工作:

    use Illuminate\Support\Facades\DB;
    

    【讨论】:

      【解决方案2】:

      DB 是 Laravel 中的门面。所以只做Use DB; 应该可以。你能检查一下你的 php.ini 是否启用了opcache 吗?

      php.ini 中查找opcache_enabled=1 并将值更改为0。然后重新启动您的nginx/apache 服务器并重试。

      【讨论】:

      • 我试过你告诉我的。但仍然是同样的错误。
      • 你能把你的控制器代码(或伪代码)粘贴到这里吗?可能 use 语句有问题。
      • 请尝试Use DB;,不要使用\DB
      • 嗯.. 很奇怪。您确定错误消息是 Class App\DB not found 吗?应该是Class 'App\Http\Controllers\DB' not found 只是想找根。当您删除行 $user = Auth::user(); 时会发生什么?可能是您的 User 模型中的问题。很难说没有看到那里的代码。
      • 好的,知道了。它实际上是从正在使用 DB 的票证模型中调用一个方法,但未包括在内,因此未找到 App\DB 错误。知道了。谢谢!
      猜你喜欢
      • 2016-01-11
      • 2016-08-21
      • 2015-07-22
      • 1970-01-01
      • 2021-12-28
      • 2017-06-07
      • 2017-10-04
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多