我正在与 Laravel 4 合作构建应用程序。
现在,我确实将所有访问者都计入一个独特的'办法。因此,如果今天已经访问了系统,那么系统确实很糟糕,如果是这样,它只会计算数据库中的点击次数。
我的数据库结构是什么样的:
我希望系统在第X个月计算第X天的访问者(以及IP地址)。就像30/04/2015
的访问者在我的表2015-04-30
中一样。我想计算那天和一个月的其他日子的所有IP地址。但是当月份结束时,它需要获取下个月的值,所以我想要当前月份的值。
hits
只是计算点击次数'在我的网站上,所以不需要提及。
日期和visit_date告诉我当前的访问日期,visit_time给了我访问的时间。
我当前的代码如下所示,显示值:
public function index()
{
$select_stats = DB::table('visitor')->whereBetween('visit_date', array(date('Y-m-01'), date('Y-m-t')))->get();
$month = date('m');
$get_count = DB::select(DB::raw("SELECT count(*) FROM visitor WHERE MONTH(date) = $month GROUP BY DAY(date)"));
foreach($select_stats as $statics) {
//change our object to an array
$statics = array();
}
return View::make('admin.home.index')->with('stats', $select_stats)/*->with('count', $get_count)*/;
}
但是当我尝试显示此代码时,使用计算的数字,它不再起作用了。我的观点如下:
<script type="text/javascript">
var visitors = [
@foreach($stats as $stat)
['{{ date("d/m/Y", strtotime($stat->date)) }}', 55],
@endforeach
];
</script>
因此,我视图中的55
是计算的访问者作为输出。
有人可以尽快帮助我吗?
最诚挚的问候,
罗宾
答案 0 :(得分:0)
我并没有真正理解这一切,但有些事情可以帮助...... 1.我真的建议使用模型类而不是使用数据库原始查询。那是Laravel非常棒的地方。例如,它将是:
$select_stats= Visitor::where('visit_date', '>=', Carbon::now()->startOfMonth())->get();
$get_count = $select_stats->count();
我不会在脚本中执行foreach,而是返回一个json数组。因此,您可以将'stats'变量发送到您的视图,而不是:
with('stats',$ select_stats-&gt; lists('visit_date'))
然后在脚本中你只需要使用:
{{ json_encode($stats) }}