Heim >Datenbank >MySQL-Tutorial >Wie kann ich Laravel Eloquent-Ergebnisse nach Tagen gruppieren?

Wie kann ich Laravel Eloquent-Ergebnisse nach Tagen gruppieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 15:09:03650Durchsuche

How Can I Group Laravel Eloquent Results by Days?

Gruppieren von Laravel Eloquent-Ergebnissen nach Tagen

Wenn Sie mit einer Tabelle arbeiten, die Datensätze enthält, die die Benutzeraktivität verfolgen, kann die Gruppierung nach Tagen hilfreich sein, um Ergebnisse zu erhalten Einblicke in Verkehrsmuster. Das Vorhandensein unterschiedlicher Zeiten für jeden Datensatz kann jedoch eine genaue Gruppierung behindern.

Lösung 1: DB::Raw-Abfrage

Um eine tagesbasierte Gruppierung zu erreichen, verwenden Sie die DATE()-Funktion in MySQL. Diese Funktion entfernt Zeitkomponenten aus Zeitstempeln, was zu reinen Daten führt.

DB::table('page_views')
    ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
    ->groupBy('date')
    ->get();

Lösung 2: Eloquente Abfrage mit Carbon

Um innerhalb des Laravel Eloquent-Frameworks zu bleiben, Nutzen Sie Carbon zur Datumsmanipulation. Die erste WHERE-Klausel filtert Datensätze, die innerhalb des letzten Monats erstellt wurden. Die Gruppierung nach Datum und die Sortierung danach in absteigender Reihenfolge gewährleisten eine chronologische Darstellung.

<code class="php">$visitorTraffic = PageView::where('created_at', '>=', \Carbon\Carbon::now()->subMonth())
                            ->groupBy('date')
                            ->orderBy('date', 'DESC')
                            ->get(array(
                                DB::raw('Date(created_at) as date'),
                                DB::raw('COUNT(*) as "views"')
                            ));</code>

Das obige ist der detaillierte Inhalt vonWie kann ich Laravel Eloquent-Ergebnisse nach Tagen gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn