0

我无法更改事件类中的频道名称。我在课堂上所做的每一个更改都没有加载。(我正在使用laravel-websockets

/app/Events/BroadcastingModelEvent

class BroadcastingModelEvent implements ShouldBroadcast
    {
        use Dispatchable, InteractsWithSockets, SerializesModels;
    
        public $message;
    
        public function __construct($message)
        {
            $this->message = $message;
        }
    
        public function broadcastOn()
        {
            return new Channel('test');
        }
    
    }

/routes/web.php

Route::get('test', function () {
    event(new App\Events\BroadcastingModelEvent('Test'));
    return "Event has been sent!";
});

VueComponent

Echo.channel('test')
                .listen('BroadcastingModelEvent', (e) => {
                     console.log(e);
                });

所以这段代码有效,我在 console.log 中收到事件一切正常。

但是如果我改变return new Channel('something');并且Echo.channel('something')它停止工作。

我尝试了php artisan route:clear, php artisan cache:clearphp artisan event:clear但没有任何效果。我停止了该php artisan websockets:serve过程并重新启动它。该类仅适用于我第一次给出的“测试”名称,没有别的。

我无法弄清楚它在哪里缓存类,因为我所做的任何更改BroadcastingModelEvent都没有反映出来。

4

1 回答 1

1

对于遇到此问题的任何人,您需要在编辑事件时重新启动队列工作进程。

于 2020-11-23T12:47:52.160 回答