【问题标题】:Live pull data from database in laravel从 laravel 数据库中实时拉取数据
【发布时间】:2014-01-19 12:14:36
【问题描述】:

如何通过 Laravel 从 MySQL 数据库中实时提取数据?

我更喜欢从刀片视图调用代码。

我该如何实现,或者什么是正确的方法?

我用来获取数据的代码行是:

Facility::where('aID',$this->id)->where('type',$type)->count();

【问题讨论】:

    标签: javascript php laravel laravel-4


    【解决方案1】:

    我相信您知道,使用纯 PHP 您将无法做到这一点。

    如果您愿意接受“实时”的含义,每隔一秒左右,您可以通过使用 jQuery 的重复 ajax 调用来执行此操作,该调用会重新计数,并将当前计数替换为新值。

    这也意味着,您将无法从单个刀片视图执行此操作,您将需要设置一个控制器来执行您的 ajax 调用,该调用将返回新的计数.

    主刀片视图

    <h1>
      The current count is 
      <span id="mycount">
        {{ Facility::where('aID',$this->id)->where('type',$type)->count(); }}
      </span>
    </h1>
    

    jQuery

    function getCount() {
    
        $.ajax({
          type: "GET",
          url: "{{ route('route_for_new_data_here') }}"
        })
        .done(function( data ) {
          $('#mycount').html(data);
    
          setTimeout(getCount, 1000);
        });
    }
    getCount();
    

    控制器

    在控制器中,您需要一些东西来处理它并发回计数

    function getCount()
    {
        echo Facility::where('aID',$this->id)->where('type',$type)->count();
    }
    

    【讨论】:

    • 感谢您给我提示如何做到这一点:我写了一个控制器并尝试制作该功能。但是该功能无法正常工作:( URL实际上可以返回计数。我可以知道为什么吗?谢谢
    • 您需要像其他任何页面一样制作它,但不是显示内容而是显示值。
    • 对不起...我想我应该echoing 结果,而不是returning...答案已更新。
    • 是的。 echo 但也没有更新。这是js代码。 paste.laravel.com/1jjn 我试图调用 URL。它确实返回计数
    • 我太草率了,抱歉...getCount 不应该用引号引起来。希望最后一次更新答案!
    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 2021-09-20
    • 2020-04-25
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多