Laravel: 如何用Broadcast指定返回数据?

Laravel: How to specify returned data with a Broadcast?

我正在使用 Presence Channel,根据 docs,您可以 return 您需要的特定数据数组。例如在这种情况下,它是变量 $user.

中的 idname
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() return 是 所有 用户数据(如电子邮件地址)的数组,而不仅仅是 id 和 [=我在 Broadcast 中指定的 14=]。

如何让它只包含 idname

首先,Broadcast::channel需要一个authentication callback来验证用户是否被允许收听这个频道。这是不是数据负载,这个数组用于验证!

要指定数据负载,请使用 broadcastWith docs

中指定的

我重新启动了浏览器,它开始正常工作了……奇怪。似乎有某种类型的缓存正在发生,它不在 浏览器内,但可能在 Pusher 端。我不确定。