Laravel: Как указать возвращаемые данные с помощью Broadcast? - PullRequest
0 голосов
/ 29 сентября 2018

Я работаю с каналом присутствия и в соответствии с документами вы можете вернуть определенный массив данных того, что вам нужно.например, в этом случае это 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()массив всех пользовательских данных (например, адресов электронной почты) вместо просто id и name, которые я указал в Broadcast.

Как я могу сделать так, чтобы он содержал только id и name?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Я перезапустил браузер, и он просто начал работать как обычно ... странно.Кажется, что происходит какое-то кеширование, которое не в браузере, а, возможно, на стороне Pusher… Я не уверен.

0 голосов
/ 29 сентября 2018

Прежде всего, Broadcast::channel берет authentication callback, чтобы подтвердить, разрешено ли пользователю слушать этот канал.Это не полезная нагрузка данных, этот массив предназначен для аутентификации!

Чтобы указать полезную нагрузку данных, используйте broadcastWith, как указано в документах

...