php - Laravel使用ajax刷新数据库记录更新页面

标签 php jquery mysql ajax laravel

我有一个包含 4 列的 mySQL 表。其中之一是来自 timestamps() 的 update_at() 。 有人知道如何检测 update_at 列何时发生变化并使用 ajax 更新某一页面吗?

我知道更好的方法是使用网络套接字,但对于我的项目来说有点矫枉过正。该项目位于 laravel 5.2

最佳答案

您可以使用 Model Events 检测模型何时更新
但我不知道如何在没有 Web 套接字的情况下从 PHP 脚本刷新 html 页面。

编辑

尝试

Route::get('checkIfModelUpdated/{id}', function($id) {
    $model = YourModelClass::find($id);
    $updatedAt = Request::get('updated_at');
    return json_encode($model->updated_at->gt($updetedAt));
});

和客户端代码

setInterval(function() {
       $.get('/checkIfModelUpdated/'+YOUR_MODEL_ID,
       {updated_at: LAST_UPDATED_AT},
       function(data) {
           if (JSON.parse(data) == true) 
                // refresh your page
       });
   }, 1000); 

关于php - Laravel使用ajax刷新数据库记录更新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513988/

相关文章:

php - Laravel Heroku 应用程序错误

php - Laravel 在验证中设置数字之间

php - 全文搜索方法不起作用

jquery - arrary in Datatable make customized in array 并根据新列显示列

javascript - 自页面加载后的 JQuery Clock/Timer(即使用户更改其计算机上的时间)

javascript - css 媒体查询和 javascript

java - Hibernate saveOrUpdate 不会更新现有记录,而是将记录另存为新条目

php - 登录脚本无法登录并显示错误

php - PHP 中表格列排序时搜索参数丢失

python - MySQL 存在操作错误,而 SQLite3 没有