Laravel事件触发,Echo监听但未通过该函数

时间:2018-12-17 07:38:55

标签: laravel events broadcast

Controllers / UserController.php

event(new UserEntered($myReserve));

Events / UserEntered.php

public function __construct($hisReserve)
{
    $this->hisReserve = $hisReserve;
}
public function broadcastOn()
{
    return new PrivateChannel('same-user.'.$this->hisReserve);
}

routes / channels.php

Broadcast::channel('same-user.{hisReserve}', function ($user, $hisReserve) {
    return true;
});

js / bootstrap.js

user_id = 1; //as an example
window.Echo.private('same-user.' + user_id)
    .listen('UserEntered', (update) => {
        // it doesn't trigger here...
        console.log(update);
        alert('alert');
    });

在控制台中,它显示Event: App\Events\UserEntered - Channel: private-same-user.1,但是当我要收听它时,它不会通过该功能。实际上没有触发UserEntered。我的第一个问题是为什么它不通过该功能?而我的第二个问题是,是否可以使用对象作为参数,而不是那里的整数user_id?

更新

电击!我正在收听的same-user不起作用,但是其他名为valid-user的频道已经正常工作,但是当我将其更改为return false时,它再次正常工作。 Laravel中缓存了什么吗?

0 个答案:

没有答案