php – 如何通过Laravel统计独特的访客并将其显示在图表中?
发布时间:2020-12-14 19:34:46 所属栏目:大数据 来源:网络整理
导读:我想通过Laravel概述我的独特访客(有点像cloudflare). 我已经拥有的东西: 我有一个数据库sheme,但我不认为这是好的: 我想尽可能多地将数据存储到我的数据库中,但不是存储地点,哪个浏览器等… 我希望能够每天查看所有访问者(唯一的,因此一天内不是同一个IP
我想通过Laravel概述我的独特访客(有点像cloudflare).
我已经拥有的东西: 我有一个数据库sheme,但我不认为这是好的: 我想尽可能多地将数据存储到我的数据库中,但不是存储地点,哪个浏览器等… 我希望能够每天查看所有访问者(唯一的,因此一天内不是同一个IP的两倍),因此请计算IP地址,以及整个月. 例如: 4月份需要在我的视图中显示如下: ['1/04',5],['2/04',58],['3/04',496],['4/04',654],['5/04',854],['6/04',756],['7/04',254],['8/04',887],['9/04',452],['10/04',985],['11/04',745],['12/04',120],['13/04',['14/04',['15/04',321],['16/04',852],['17/04',753],['18/04',951],['19/04',791],['20/04',167],['21/04',761],['22/04',349],['23/04',741],['24/04',258],['25/04',963],['26/04',317],['27/04',482],['28/04',341],['29/04',['30/04',751] 因此,每天必须计算IP的数量,并且持续一个月,取决于当前月份. 输出看起来与此类似: 如果可能的话,我想收到一个控制器,视图和数据库sheme. 最亲切的问候, 知更鸟 解决方法
如果我正确理解你的目标,这就是我解决问题的方法.
对数据库进行以下更改: 1) Remove the hits field. 2) Store dates in a YYYY-MM-DD format. 然后检查数据库中的现有记录,或者在新用户登录或请求页面时创建一个新记录(您应该在数据库上缓存此减少命中): $visitor = Visit::firstOrCreate(['date'=>$current_date,'ip'=>$ip_address); 然后,当需要检索视图的数据时,您可以调用: $visits = Visit::selectRaw('date count(date) as hits'))->groupBy('date')->whereRaw("`date` between $begin and $end")->get(); 这应该让你前进,但你必须自己解决这些问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |