微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为新登录的用户保留数据?

如何解决如何为新登录的用户保留数据?

我只是想问一下如何在 Laravel 中保存来自先前触发的事件的数据。示例场景:管理员更新数据库记录,然后应将其广播给所有用户(当前登录或将来登录用户)。目前,当前登录用户通过使用 laravel-echo 和 pusher-js 的监听器接收更新。我的问题是,当事件被触发并且用户登录到应用程序时,该用户没有收到更新的数据库记录,因为该事件在用户登录之前被触发。我使用的是 Beyondcode 的 laravel-websocket 包。谢谢!

解决方法

为了给用户保存通知,你需要使用数据库方法, 看这里:https://laravel.com/docs/8.x/notifications 所以,首先你需要迁移表:

php artisan notifications:table
php artisan migrate

然后,在您的通知文件中,设置:

public function toDatabase($notifiable)
{
    return [
        'foo_id' => $this->foo->id,'value' => $this->foo->value,];
}

最后,您可能会收到给定用户的未读通知,如下所示:

foreach ($user->unreadNotifications as $notification) {
    echo $notification->type;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。