php - cyrildewit/eloquent-viewable 包视图
问题描述
我使用cyrildewit/eloquent-viewable 包来获取页面浏览量。当我查看文档时,我没有看到只能获取单个日期的视图的方法。它使用Period和Carbon来获取特定时期的日期,因此 (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;
}
解决方案
您不仅限于此,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()
))
推荐阅读
- php - 我的 cPanel 托管开始下载 PHP 文件而不是打开它与 Laravel 文件夹相同的问题它在页面索引上显示零空间
- reactjs - 对依赖变化执行useEffect的回调函数的不同代码
- javascript - 当班级更改为“开放”时更改颜色
- c++ - 将数字转换为二进制并打印为矩阵(C++)
- redis - redis集群如何高效批量操作?
- mysql - 如何克服安装在 mysql 映像中的密钥的只读文件系统错误
- sql - 查找具有最大预订数的人的个人资料_id
- terraform - Terraform - 从模块输出中引用 for_each
- python - 元素在弹出 div 中加载需要太多时间
- java - 如何在将值附加到 Java 中的 CSV 文件时为每次迭代仅附加一行/行