Laravel:如何通过广播指定返回的数据?

时间:2018-09-29 09:50:48

标签: php laravel laravel-5.6 laravel-echo

我正在使用状态通道,根据docs,您可以返回所需的特定数据数组。例如在这种情况下,它是变量id中的name$user

Broadcast::channel('chat', function ($user) {
    return ['id' => $user->id, 'name' => $user->name];
});

我的JS文件中有

Echo.join(`chat`)
.here((users) => {
  console.log('users here: ',users);
})

console.log()返回一组所有用户数据(例如电子邮件地址),而不仅仅是我在{{中指定的idname 1}}。

如何仅使其包含Broadcastid

2 个答案:

答案 0 :(得分:0)

首先,Broadcast::channel使用authentication callback来验证是否允许用户收听此频道。这不是不是数据有效负载,该数组用于身份验证!

要指定数据有效载荷,请使用docs

中指定的broadcastWith

答案 1 :(得分:0)

我重新启动了浏览器,它开始正常运行...奇怪。似乎发生了某种类型的缓存,不是在浏览器内部,而是在Pusher方面。我不确定。