从 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实际上可以返回计数。我可以知道为什么吗?谢谢 您需要像其他任何页面一样制作它,但不是显示内容而是显示值。 对不起...我想我应该echo
ing 结果,而不是return
ing...答案已更新。
是的。 echo 但也没有更新。这是js代码。 paste.laravel.com/1jjn 我试图调用 URL。它确实返回计数
我太草率了,抱歉...getCount
不应该用引号引起来。希望最后一次更新答案!以上是关于从 laravel 数据库中实时拉取数据的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户