2017-02-09 51 views
1

每当mysql数据库发生变化时,如何将值更新为laravel中的视图。数据库中的更新可以来自雄辩的,使用api的外部应用程序,或直接来自phpmyadmin。Laravel使用mysql实时更新数据

我不想使用firebase。

+0

(对于phpmyadmin更新)你不能,MySQL中没有这样的机制。 Oracle和PostgreSQL似乎有这个功能。 – n00dl3

回答

2

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

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

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

当您使用WebSockets,这里是正在发生的事情:

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

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

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

这里是Laracasts引入Laravel回声也是一个视频,如果你不喜欢阅读文档:https://laracasts.com/lessons/introducing-laravel-echo

+0

感谢您的回复,我已经开始了解活动,广播和laravel回声。但是我想问你,你确定这个功能可以工作,即使我使用phpmyadmin直接更新数据。实际上,这不是我的要求,但我需要在每次从android应用程序更改数据库时更新视图。 –