【问题标题】:updating blade view everytime theres an update in the the database table每次数据库表中有更新时更新刀片视图
【发布时间】:2021-01-13 09:21:41
【问题描述】:

我的刀片上有一个统计栏,例如“今日通话:0”等,

我需要在今天每次调用的 sql 数据库中有更新时更新统计信息。因此,例如,如果数据库中的 Calls Today 上升到 5,则刀片视图 Calls Today 也必须上升到 5。我不太确定这是否最好使用仅刷新页面或特定 div 的 ajax 调用来完成每隔几分钟,或者我可以在 php 中做些什么来跟踪表格?

我的刀片视图代码当前正在使用@foreach 从控制器传递数据。我喜欢这种方法,我希望解决方案可能是 ajax 或在控制器中?

          @foreach $data as $stat
    <div class="StatBar">
    Calls Today: {{$stat->CallsToday}}
    </div>
  <div class="StatBar">
    Calls Today: {{$stat->HoursWorked}}
    </div>
        @endforeach

【问题讨论】:

    标签: php sql ajax laravel model-view-controller


    【解决方案1】:

    有几种方法可以做到。 “简单”的方法是定期刷新页面,但如果页面上有交互式元素(例如,您不想打扰用户填写表单),这可能是不可取的。

    更难但“更好”的方法是使用 websockets 在发生变化时通知浏览器,但这需要前端和 web socket 服务器更复杂。 Laravel 文档中的“广播事件”部分解释了如何解决这个问题:https://laravel.com/docs/8.x/broadcasting#introduction

    【讨论】:

    • 谢谢你,我会试试这个,如果我成功了会告诉你!
    • 嗨,我和我的队友讨论过这个问题,他们同意这是一个很好的方法,但我现在被要求使用 ajax 调用来代替。
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2019-03-13
    • 2020-03-09
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    相关资源
    最近更新 更多