Передача данных для трансляции авторизации обратного вызова в Laravel

Я новичок в вещании Laravel, в настоящее время я использую 5.4. Я хочу обновить панель учетной записи, которая содержит соответствующие сообщения по их интересам, когда кто-то еще создает новую запись, я использую частный канал. Мне удается транслировать каждое новое сообщение, опубликованное другим пользователем на панели мониторинга текущего зарегистрированного пользователя. Мне нужно проверить, является ли новое сообщение релевантным или нет, если оно затем транслируется, если нет, то нет.

Я думаю, что я могу добиться с фильтрацией в событии авторизации, внутри BroadcastServiceProvider Я написал.

public function boot(){
Broadcast::routes();
Broadcast::channel('discovery.post', function ($user) {
return true;
});
}

Я прочитал документацию, что мы могли бы передавать данные вместе с названием канала, такие как

Broadcast::channel('discovery.post.{postId}', function ($user, $postId) {
// get post category, tags, etc compare with user interest
return $isInterest;
});

Но этот подход должен передавать новый идентификатор сообщения в laravel Echo, а также

window.Echo.private('discovery.post.{how-i-get-this-id?}')
.listen('NewPostDashboard', (data) => {
// add new update to dom
});

Как я могу решить эту проблему, я хочу сохранить название своего канала discovery.postЯ хочу отправить только пользователю с соответствующим интересом, мне нужен экземпляр Post, чтобы проверить, заинтересован ли зарегистрированный пользователь в этом сообщении.

Дайте мне знать, если мой вопрос неясен, прежде чем голосовать за меня. Спасибо.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …