Laravel 5-找不到类'DB' [英] Laravel 5 - Class 'DB' not found

查看:678
本文介绍了Laravel 5-找不到类'DB'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在app/http/controllers中有ChatController,就像这样:

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use DB;

class ChatController extends Controller implements MessageComponentInterface {

    protected $clients;

    function __construct() {
        $this->clients = new \SplObjectStorage;
    }

    public function onOpen(ConnectionInterface $conn) 
    {
        $this->clients->attach($conn);
    }

    public function onMessage(ConnectionInterface $conn, $msg) 
    {
        foreach ($this->clients as $client) 
        {
            if ($client !== $conn )
                $client->send($msg); 

            DB::table('messages')->insert(
                ['message' => $msg]
            );
        }
    }

    public function onClose(ConnectionInterface $conn) 
    {
        $this->clients->detach($conn);
    }

    public function onError(ConnectionInterface $conn, \Exception $e) 
    {
        echo 'the following error occured: ' . $e->getMessage();
        $conn->close();
    }

}

我的根目录中有chatserver.php文件,如下所示:

And I have chatserver.php file in the root like so:

<?php
require  'vendor/autoload.php';

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use App\Http\Controllers\ChatController;


$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new ChatController()
        )
    ),
    8080
);

$server->run();

如果我删除

DB::table('messages')->insert(
                    ['message' => $msg]
                );

ChatController并启动chatserver.php,它可以工作,但是如果我不删除它,则服务器将启动,但是一旦我发送一条消息,我就会收到此错误:

from the ChatController and start chatserver.php it works, but if I don't remove it then the server starts but as soon as I send a message I get this error:

Fatal error: Uncaught Error: Class 'DB' not found in C:\wamp\www\laraveltesting\app\Http\Controllers\ChatController.php:31

为什么不使用DB?我正在扩展laravel控制器.

Why won't it use DB? I am extending the laravel controller.

推荐答案

这个比较好

use Illuminate\Support\Facades\DB;

或者您可以在DB之前使用斜杠('/'),如下所示

Or you can use a slash('/') before DB like below

/DB::table('messages')->insert(
                ['message' => $msg]
            );

这篇关于Laravel 5-找不到类'DB'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆