【问题标题】:Laravel real time data update with mysqlLaravel 使用 mysql 实时更新数据
【发布时间】:2017-02-09 11:42:36
【问题描述】:

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

我不想使用 firebase。

【问题讨论】:

  • (对于phpmyadmin更新)你不能,MySQL中没有这样的机制。 Oracle 和 PostgreSQL 好像都有这个特性。

标签: php mysql laravel real-time


【解决方案1】:

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

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

  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

【讨论】:

  • 感谢您的回复,我已经开始学习事件、广播和 laravel echo。但是我想问你,即使我直接使用 phpmyadmin 更新数据,你确定这会起作用吗?实际上,这不是我的要求,但是每当从 android 应用程序更改数据库时,我都需要更新视图。
猜你喜欢
  • 2021-10-15
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-23
  • 2017-01-21
  • 2020-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多