【发布时间】:2014-01-19 12:14:36
【问题描述】:
如何通过 Laravel 从 MySQL 数据库中实时提取数据?
我更喜欢从刀片视图调用代码。
我该如何实现,或者什么是正确的方法?
我用来获取数据的代码行是:
Facility::where('aID',$this->id)->where('type',$type)->count();
【问题讨论】:
标签: javascript php laravel laravel-4
如何通过 Laravel 从 MySQL 数据库中实时提取数据?
我更喜欢从刀片视图调用代码。
我该如何实现,或者什么是正确的方法?
我用来获取数据的代码行是:
Facility::where('aID',$this->id)->where('type',$type)->count();
【问题讨论】:
标签: javascript php laravel laravel-4
我相信您知道,使用纯 PHP 您将无法做到这一点。
如果您愿意接受“实时”的含义,每隔一秒左右,您可以通过使用 jQuery 的重复 ajax 调用来执行此操作,该调用会重新计数,并将当前计数替换为新值。
这也意味着,您将无法从单个刀片视图执行此操作,您将需要设置一个控制器来执行您的 ajax 调用,该调用将返回新的计数.
<h1>
The current count is
<span id="mycount">
{{ Facility::where('aID',$this->id)->where('type',$type)->count(); }}
</span>
</h1>
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();
}
【讨论】:
echoing 结果,而不是returning...答案已更新。
getCount 不应该用引号引起来。希望最后一次更新答案!