2017-02-09 73 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應用程序更改數據庫時更新視圖。 –