2016-05-22 4 views
0

zu machen habe ich noch ein Plugin (https://github.com/antonioribeiro/tracker)einen Besucher-Tracker in Laravel 5.1

Wich macht das Tracking Sache installiert, nur möchte ich Besucher bekommen. Ich weiß nicht, wie man diese aus diesem Paket extrahiert. Oder wie soll ich eins machen?

Ich möchte sie als ein Json-Objekt pro Monat zurückgeben.

Wenn mir jemand dabei helfen könnte?

Ich versuchte es mit der tracker_sessions Tabelle, aber das funktioniert nicht gut.

Route::get('admin/api', function(){ 

     $stats = DB::table('tracker_sessions') 
      ->groupBy('created_at') 
      ->orderBy('created_at', 'ASC') 
      ->get([ 
      DB::raw('created_at as y'), 
      DB::raw('COUNT(*) as b') 
      ]); 

      return json_encode($stats); 
    }); 

, dass so etwas wie dies zurück:

[{"y":"2016-05-22 21:17:17","b":1},{"y":"2016-05-22 21:17:27","b":1},{"y":"2016-05-22 21:17:28","b":2},{"y":"2016-05-22 21:17:29","b":1},{"y":"2016-05-22 21:17:31","b":1},{"y":"2016-05-22 21:17:33","b":1},{"y":"2016-05-22 21:18:10","b":1},{"y":"2016-05-22 21:18:11","b":2},{"y":"2016-05-22 21:18:13","b":1}] 

Wich ist überhaupt nicht gut ...

Kann jemand bitte helfen Sie mir?

Danke!

Antwort

1
Route::get('admin/api', function(){ 

    $stats = DB::table('tracker_sessions') 
     ->groupBy(DB::raw('CAST(created_at as DATE)')) 
     ->orderBy(DB::raw('CAST(created_at as DATE)')) 
     ->get([ 
     DB::raw('CAST(created_at as DATE) as y'), 
     DB::raw('COUNT(DISTINCT ip_column) as b') 
     ] 
    ); 

    return json_encode($stats); 
}); 
+0

Hm ... Das ist nicht, was ich will, ich möchte irgendwie die einzigartigen Besucher von 'diesem Monat'. Also alle Unique Visitors (per IP geprüft) pro Tag in diesem Monat. So kann ich ein Diagramm erstellen, das die einmaligen Besuche pro Tag in diesem Monat anzeigt. – Robin

+0

Ok. Bearbeitet mit 'CAST (created_at als DATE)'. – mnv

+0

Danke, aber kann ich ein anderes Datumsformat bekommen? Wie 'DD-MM-YYY'? Es wird auch nicht auf 'client_ip' angeordnet, aber wenn ich' -> groupBy ('client_ip') hinzufüge, gruppiert es alles zusammen .... Wie alle Tage, aber ich will, dass sie voneinander getrennt sind. – Robin