我想每天有一定数量的访客。我正在使用Laravel 4。
我拥有的数据库结构是这样的:
姓名:
visitor
现在,我尝试使用Laravel的avg()函数,但是找不到正确的解决方案。有人可以帮我吗?
我已经有了一个像这样的控制器:
public function index()
{
//$select_stats = Visitor::where('visit_date', '>=', Carbon::now()->startOfMonth())->get();
$begin = date('Y-m-01');
$end = date('Y-m-t');
$visits = Tracker::selectRaw('date, count(ip)')->groupBy('date')->whereRaw("date between '$begin' and '$end'")->get();
//get total visits per month
$get_visits = Visitor::whereRaw("date between '$begin' and '$end'")->count();
//get averange visits
return View::make('admin.home.index')->with('stats', $visits)->with('get_visits', $get_visits)/*->with('get_avg_visits', $get_avg_visits)*/;
}
基本上,您已经拥有计算访问者平均人数所需的一切,而无需其他查询:)您只需将访问总次数除以一个月的天数即可:
public function index()
{
$begin = date('Y-m-01');
$end = date('Y-m-t');
// ...
//get total visits per month
$get_visits = Visitor::whereRaw("date between '$begin' and '$end'")->count();
// get average visits
// transform dates to DateTime objects (we need the number of days between $begin and $end)
$begin = new \DateTime($begin);
$end = new \DateTime($end);
$diff = $end->diff($begin); // creates a DateInterval object
$days = (int)$diff->format('%a'); // %a --> days
$average_visits = $get_visits / $days;
// ...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句