从 laravel 数据库中实时拉取数据

Posted

技术标签:

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

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

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

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

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

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

【问题讨论】:

【参考方案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 不应该用引号引起来。希望最后一次更新答案!

以上是关于从 laravel 数据库中实时拉取数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 laravel 从数据库中存在的大文本中获取少量文本

Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户

如何使用 laravel 5.1+ 在 web 应用程序中实现许可功能

将 Laravel 路由参数传递给 JavaScript

如何即时拉取用户的类类型。 Laravel5

Cordova/Phonegap/Ionic App - 远程图像的本地存储