Шаг за шагом я следовал за документацией на https://laravel.com/docs/6.x/broadcasting и проверял, копирую и вставляю, чтобы быть уверенным, что я не ошибаюсь. Я могу нормально вещать, и все работает просто отлично. Поскольку я не могу передать атрибуты, люди в другой комнате считаются так, как будто они все в одной комнате. Вот живой пример: https://prayershub.com/worship/82 - 82 - вероисповедание, которому я хотел бы перейти:
Broadcast::channel('worship_presence_channel.{id}', function ($id) {
if(Auth()->check())
{
$profile = Auth()->user()->Profile;
$user = Auth()->user();
$data = [
'id' => $user->id,
'name' => $user->name,
'username' => $user->username,
'avatar' => config('app.storage').$profile->profile_image,
'url' => $profile->profile_url,
'favorite_bible_verse' => $profile->favorite_bible_verse
];
return $id;
}
});
От:
Echo.join(`worship_presence_channel.${id}`)
.here((users) => {
worshipers=users;
joinUser(worshipers);
$('.group-count').html(worshipers.length);
console.log(users);
})
.joining((user) => {
worshipers.push(user);
popupNewUser(user);
joinUser(worshipers);
$('.group-count').html(worshipers.length);
})
.leaving((user) => {
worshipers = worshipers.filter(function(obj) {
return (obj.id !== user.id);
});
popupLeaveUser(user);
joinUser(worshipers);
$('.group-count').html(worshipers.length);
});
У меня также есть событие, которое кажется бесполезным, но выглядит так:
public function broadcastOn()
{
return new PresenceChannel('worship_presence_channel.58');
}
public function broadcastAs()
{
return 'worship_presence_channel.58';
}
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно, или если я все понял просто неправильно. Пожалуйста, помогите!