Laravel 使用 mysql 实时更新数据

Sun*_*mar 1 php mysql real-time laravel

每当 mysql 数据库发生更改时,如何将值更新为 laravel 中的视图。数据库中的更新可以来自 eloquent、使用 api 的外部应用程序,也可以直接来自 phpmyadmin。

我不想使用firebase。

Ham*_*bot 5

您需要使用 websockets 才能这样做。

让我们快速提醒一下简单的 Web 应用程序是如何工作的:

  1. 用户使用浏览器向您的服务器发出请求
  2. 您的服务器以单个响应进行响应。
  3. 如果用户想要其他信息,他需要向您的服务器发出新请求。

当您使用 websockets 时,会发生以下情况:

  1. 用户向您的服务器发出请求
  2. 您的服务器以单个响应进行响应
  3. 响应包含将您的用户浏览器连接到 websocket 服务器的 Javascript 代码(这个可以实时工作)
  4. websocket 服务器可以触发事件并将它们发送到您的用户浏览器。然后您可以使用 Javascript 来更新您的视图。

Laravel 提供了一个包装器来使用 websockets,Laravel Echo

如果您想了解更多,我强烈建议您阅读有关它的文档:https : //laravel.com/docs/5.4/broadcasting#installing-laravel-echo

如果你不喜欢阅读文档,这里是 Laracasts 介绍 Laravel Echo 的视频:https ://laracasts.com/lessons/introducing-laravel-echo