Example #1
0
 public function visitor()
 {
     $visitors = Visitor::all();
     $groupByDate = $visitors->groupBy(function ($visitor) {
         return $visitor->created_at->format('Y-m-d');
     });
     $countingByDate = $groupByDate->map(function ($visitor, $date) {
         return [$this->gd($date), $visitor->sum('times')];
     });
     $this->output->set_content_type('application/json')->set_output(json_encode($countingByDate->values()));
 }
Example #2
0
 public function saveVisitor()
 {
     $user = auth()->user();
     $request = Request::createFromGlobals();
     $access = $request->getScheme() . '://' . $request->getHttpHost() . $request->getRequestUri();
     $client_ip = $request->getClientIp();
     $visitor = Visitor::checkAccessVisitor($access, $client_ip, $user ?: null);
     if ($visitor->count()) {
         $visitor->incrementTimes();
     } else {
         $visitor = Visitor::create(['ip_address' => $client_ip, 'access_url' => $access, 'user_id' => $user ? $user->id : null]);
     }
     return $visitor;
 }