首页 > 解决方案 > cyrildewit/eloquent-viewable 包视图

问题描述

我使用cyrildewit/eloquent-viewable 包来获取页面浏览量。当我查看文档时,我没有看到只能获取单个日期的视图的方法。它使用PeriodCarbon来获取特定时期的日期,因此 (since and upTo) 函数。

获取页面浏览量的任何修复或替代包。

我正在尝试创建一个分析页面。

  public function pastDateViewsChart(){
$days = [];
$view_count = [];
foreach($this->views as $v){
  //get views for the past 28 days
  if($v->viewed_at >= Carbon::create("28 days ago")){
    if(!in_array(Carbon::parse($v->viewed_at)->format('Y-m-d'),$days,true))
  array_push($days, Carbon::parse($v->viewed_at)->format('Y-m-d'));
  }
}

//get views for each day
  $count = views($this)
  ->period(Period::upto(Carbon::parse($days[0])))
  ->count();

  array_push($view_count,$count);




return $view_count;
}

标签: phplaraveleloquentphp-carbon

解决方案


您不仅限于此,Period 有(根据我在那里看到的https://github.com/cyrildewit/eloquent-viewable/blob/master/src/Support/Period.php)一个创建方法可以将任何日期作为开始和结束:

->period(Period::create(
  Carbon::parse($days[0])->startOfDay(),
  Carbon::parse($days[0])->endOfDay()
))

推荐阅读